Source code for api.views.chatbot_service_manager

import json
from rest_framework.response import Response
from rest_framework.views import APIView
from chatbot.manager.service_manager import ServiceManager
from common.utils import *
import datetime
import coreapi

[docs]class ChatbotServiceManager(APIView): """ """ # TODO:add document sample for swagger (need to update) coreapi_fields = ( coreapi.Field( name='parm3', required=True, schema=coreapi.Field(name='parm3', required=True, description='haha', type='float') ), coreapi.Field( name='parm2', required=True, type='string', ), )
[docs] def post(self, request, cbid): """ Your docs --- # Class Name (must be separated by `---`) # Description: - name: name description: Foobar long description goes here """ try: #TODO: request prediction with files (swkim) #Get Cache result = ServiceManager(cbid).run_chatbot_with_file(request.FILES) return Response(json.dumps(result)) except Exception as e: return_data = {"status": "404", "result": str(e)} return Response(json.dumps(return_data))
[docs] def put(self, request, cbid): """ Your docs --- # Class Name (must be separated by `---`) # Description: - name: name description: Foobar long description goes here """ try: self.init_time = datetime.datetime.now() print("Start:" + str((datetime.datetime.now() - self.init_time).total_seconds() * 1000)) result = ServiceManager(cbid).run_chatbot(request.data) print("Done:" + str((datetime.datetime.now() - self.init_time).total_seconds() * 1000)) return Response(json.loads(result)) except Exception as e: return_data = {"status": "404", "result": str(e)} return Response(json.dumps(return_data))