X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/9659afbade47d1ec6d5359b2b21e1e874516ed80..6299afcad75e57ef28375201a9078cfaad057546:/src/nominatim_db/cli.py diff --git a/src/nominatim_db/cli.py b/src/nominatim_db/cli.py index 93278668..8d8a07f7 100644 --- a/src/nominatim_db/cli.py +++ b/src/nominatim_db/cli.py @@ -19,7 +19,6 @@ from pathlib import Path from .config import Configuration from .errors import UsageError -from .tools.exec_utils import run_php_server from . import clicmd from . import version from .clicmd.args import NominatimArgs, Subcommand @@ -112,14 +111,15 @@ class CommandlineParser: args.config = Configuration(args.project_dir, environ=kwargs.get('environ', os.environ)) - args.config.set_libdirs(module=kwargs['module_dir'], - osm2pgsql=kwargs['osm2pgsql_path']) + args.config.set_libdirs(osm2pgsql=kwargs['osm2pgsql_path']) log = logging.getLogger() log.warning('Using project directory: %s', str(args.project_dir)) try: - return args.command.run(args) + ret = args.command.run(args) + + return ret except UsageError as exception: if log.isEnabledFor(logging.DEBUG): raise # use Python's exception printing @@ -148,10 +148,10 @@ class AdminServe: from the current project directory. This webserver is only suitable for testing and development. Do not use it in production setups! - There are different webservers available. The default 'php' engine - runs the classic PHP frontend. The other engines are Python servers - which run the new Python frontend code. This is highly experimental - at the moment and may not include the full API. + There are two different webserver implementations for Python available: + falcon (the default) and starlette. You need to make sure the + appropriate Python packages as well as the uvicorn package are + installed to use this function. By the default, the webserver can be accessed at: http://127.0.0.1:8088 """ @@ -161,17 +161,12 @@ 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='falcon', - choices=('php', 'falcon', 'starlette'), + choices=('falcon', 'starlette'), help='Webserver framework to run. (default: falcon)') def run(self, args: NominatimArgs) -> int: - if args.engine == 'php': - if args.config.lib_dir.php is None: - raise UsageError("PHP frontend not configured.") - run_php_server(args.server, args.project_dir / 'website') - else: - asyncio.run(self.run_uvicorn(args)) + asyncio.run(self.run_uvicorn(args)) return 0 @@ -235,7 +230,8 @@ def get_set_parser() -> CommandlineParser: raise ex parser.parser.epilog = \ - '\n\nNominatim API package not found. The following commands are not available:'\ + f'\n\nNominatim API package not found (was looking for module: {ex.name}).'\ + '\nThe following commands are not available:'\ '\n export, convert, serve, search, reverse, lookup, details, status'\ "\n\nRun 'pip install nominatim-api' to install the package."