From 62e8459875a9fe3043c3e24cf2ce8998aac24a6f Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 9 Jun 2025 13:53:28 +0800 Subject: [PATCH] bugfix --- ahserver/webapp.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/ahserver/webapp.py b/ahserver/webapp.py index 7df94d5..dd596f9 100644 --- a/ahserver/webapp.py +++ b/ahserver/webapp.py @@ -8,11 +8,16 @@ from ahserver.serverenv import ServerEnv from appPublic.jsonConfig import getConfig def webapp(init_func): - parser = argparse.ArgumentParser(prog="Sage") + if parser is None: + 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) + +def server(init_func, workdir, port=None): p = ProgramPath() config = getConfig(workdir, NS={'workdir':workdir, 'ProgramPath':p}) if config.logger: @@ -22,11 +27,15 @@ def webapp(init_func): else: logger = MyLogger('webapp', levelname='info') init_func() + se = ServerEnv() + se.workdir = workdir + se.port = port server = ConfiguredServer(workdir=workdir) - port = args.port or config.website.port or 8080 + port = port or config.website.port or 8080 port = int(port) server.run(port=port) + if __name__ == '__main__': from main import main webapp(main)