]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/cli.py
add support for falcon as server framework
[nominatim.git] / nominatim / cli.py
index c134ca1808c2a2fe7267fc26947c54931bb23ab7..34abb617efe3346aa156b3055ab36da045b7b594 100644 (file)
@@ -221,11 +221,7 @@ class AdminServe:
     def run(self, args: NominatimArgs) -> int:
         if args.engine == 'php':
             run_php_server(args.server, args.project_dir / 'website')
-        elif args.engine == 'sanic':
-            import nominatim.server.sanic.server
-
-            app = nominatim.server.sanic.server.get_application(args.project_dir)
-
+        else:
             server_info = args.server.split(':', 1)
             host = server_info[0]
             if len(server_info) > 1:
@@ -234,9 +230,18 @@ class AdminServe:
                 port = int(server_info[1])
             else:
                 port = 8088
-            app.run(host=host, port=port, debug=True)
-        elif args.engine == 'falcon':
-            raise NotImplementedError('Support for falcon not yet available.')
+
+            if args.engine == 'sanic':
+                import nominatim.server.sanic.server
+
+                app = nominatim.server.sanic.server.get_application(args.project_dir)
+                app.run(host=host, port=port, debug=True)
+            elif args.engine == 'falcon':
+                import uvicorn
+                import nominatim.server.falcon.server
+
+                app = nominatim.server.falcon.server.get_application(args.project_dir)
+                uvicorn.run(app, host=host, port=port)
 
         return 0