ahserver_g/ahserver/functionProcessor.py

31 lines
770 B
Python
Raw Normal View History

2019-11-28 15:28:33 +08:00
from appPublic.dictObject import DictObject
from appPublic.registerfunction import RegisterFunction
2019-12-09 19:06:55 +08:00
from aiohttp import web
2019-11-28 15:28:33 +08:00
from aiohttp.web_response import Response, StreamResponse
from .baseProcessor import BaseProcessor
class FunctionProcessor(BaseProcessor):
@classmethod
def isMe(self,name):
return False
def __init__(self,path,resource, opts):
self.config_opts = opts
2019-11-29 11:35:33 +08:00
BaseProcessor.__init__(self,path,resource)
2019-11-28 15:28:33 +08:00
async def datahandle(self,request):
2019-11-29 11:35:33 +08:00
ns = self.config_opts.copy()
2019-11-28 15:28:33 +08:00
ns.update(self.run_ns)
2019-11-29 11:35:33 +08:00
ns = DictObject(**ns)
2019-11-28 15:28:33 +08:00
rf = RegisterFunction()
2019-11-29 11:35:33 +08:00
f = rf.get(ns.registerfunction)
2019-11-28 15:28:33 +08:00
x = await f(ns)
if isinstance(x,Response):
self.retResponse = x
2019-12-09 19:06:55 +08:00
elif isinstance(x,web.FileResponse):
self.retResponse = x
2019-11-28 15:28:33 +08:00
else:
self.content = x