diff --git a/ahserver/filedownload.py b/ahserver/filedownload.py index 64d55f3..c276c42 100644 --- a/ahserver/filedownload.py +++ b/ahserver/filedownload.py @@ -38,7 +38,7 @@ async def file_handle(request, filepath, download=False): async def file_download(request, filepath): return await file_handle(request, filepath, download=True) -async def path_download(request, kw, *params): +async def path_download(request, kw, *params, **kw): path = kw.get('path') download = False if kw.get('download'): diff --git a/ahserver/functionProcessor.py b/ahserver/functionProcessor.py index bbe3838..41d1355 100644 --- a/ahserver/functionProcessor.py +++ b/ahserver/functionProcessor.py @@ -39,8 +39,8 @@ class FunctionProcessor(BaseProcessor): debug(f'params_kw={params_kw}, {args=}') if inspect.iscoroutinefunction(f): - return await f(request, params_kw, *args) - return f(request, params_kw, *args) + return await f(request, params_kw, *args, **self.run_ns) + return f(request, params_kw, *args, **self.run_ns) async def datahandle(self,request): x = await self.path_call(request, self.path) diff --git a/ahserver/processorResource.py b/ahserver/processorResource.py index fedf3c7..823841f 100644 --- a/ahserver/processorResource.py +++ b/ahserver/processorResource.py @@ -468,6 +468,5 @@ class ProcessorResource(StaticResource,Url2File): fpath = self.url2file(path) processor = self.url2processor(request, path, fpath) # print(f'path_call(), {path=}, {url=}, {fpath=}, {processor=}, {self._prepath}') - new_request = request.clone(rel_url=path) - return await processor.be_call(new_request, params=params) + return await processor.be_call(request, params=params) diff --git a/ahserver/webapp.py b/ahserver/webapp.py index dd596f9..7a8f625 100644 --- a/ahserver/webapp.py +++ b/ahserver/webapp.py @@ -8,16 +8,15 @@ from ahserver.serverenv import ServerEnv from appPublic.jsonConfig import getConfig def webapp(init_func): - if parser is None: - parser = argparse.ArgumentParser(prog="Sage") + parser = argparse.ArgumentParser(prog="Sage") parser.add_argument('-w', '--workdir') parser.add_argument('-p', '--port') args = parser.parse_args() workdir = args.workdir or os.getcwd() - port = args.port or config.website.port or 8080 - server(init_func, workdir, port) + port = args.port + webserver(init_func, workdir, port) -def server(init_func, workdir, port=None): +def webserver(init_func, workdir, port=None): p = ProgramPath() config = getConfig(workdir, NS={'workdir':workdir, 'ProgramPath':p}) if config.logger: