X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e490a30a4a926a55543fe3222e808233069b869e..f4cdcb995c576313b32ab268ee246c627b25d11b:/nominatim/cli.py diff --git a/nominatim/cli.py b/nominatim/cli.py index d34ef118..836f9037 100644 --- a/nominatim/cli.py +++ b/nominatim/cli.py @@ -215,7 +215,7 @@ class AdminServe: group.add_argument('--server', default='127.0.0.1:8088', help='The address the server will listen to.') group.add_argument('--engine', default='php', - choices=('php', 'sanic', 'falcon', 'starlette'), + choices=('php', 'falcon', 'starlette'), help='Webserver framework to run. (default: php)') @@ -223,6 +223,7 @@ class AdminServe: if args.engine == 'php': run_php_server(args.server, args.project_dir / 'website') else: + import uvicorn # pylint: disable=import-outside-toplevel server_info = args.server.split(':', 1) host = server_info[0] if len(server_info) > 1: @@ -232,26 +233,15 @@ class AdminServe: else: port = 8088 - if args.engine == 'sanic': - server_module = importlib.import_module('nominatim.server.sanic.server') + server_module = importlib.import_module(f'nominatim.server.{args.engine}.server') - app = server_module.get_application(args.project_dir) - app.run(host=host, port=port, debug=True, single_process=True) - else: - import uvicorn # pylint: disable=import-outside-toplevel - - if args.engine == 'falcon': - server_module = importlib.import_module('nominatim.server.falcon.server') - elif args.engine == 'starlette': - server_module = importlib.import_module('nominatim.server.starlette.server') - - app = server_module.get_application(args.project_dir) - uvicorn.run(app, host=host, port=port) + app = server_module.get_application(args.project_dir) + uvicorn.run(app, host=host, port=port) return 0 -def get_set_parser(**kwargs: Any) -> CommandlineParser: +def get_set_parser() -> CommandlineParser: """\ Initializes the parser and adds various subcommands for nominatim cli. @@ -273,14 +263,11 @@ def get_set_parser(**kwargs: Any) -> CommandlineParser: parser.add_subcommand('export', QueryExport()) parser.add_subcommand('serve', AdminServe()) - if kwargs.get('phpcgi_path'): - parser.add_subcommand('search', clicmd.APISearch()) - parser.add_subcommand('reverse', clicmd.APIReverse()) - parser.add_subcommand('lookup', clicmd.APILookup()) - parser.add_subcommand('details', clicmd.APIDetails()) - parser.add_subcommand('status', clicmd.APIStatus()) - else: - parser.parser.epilog = 'php-cgi not found. Query commands not available.' + parser.add_subcommand('search', clicmd.APISearch()) + parser.add_subcommand('reverse', clicmd.APIReverse()) + parser.add_subcommand('lookup', clicmd.APILookup()) + parser.add_subcommand('details', clicmd.APIDetails()) + parser.add_subcommand('status', clicmd.APIStatus()) return parser @@ -290,6 +277,4 @@ def nominatim(**kwargs: Any) -> int: Command-line tools for importing, updating, administrating and querying the Nominatim database. """ - parser = get_set_parser(**kwargs) - - return parser.run(**kwargs) + return get_set_parser().run(**kwargs)