diff --git a/pygeoapi/django_/views.py b/pygeoapi/django_/views.py index e46de8ee6..3630ced73 100644 --- a/pygeoapi/django_/views.py +++ b/pygeoapi/django_/views.py @@ -39,7 +39,6 @@ from django.conf import settings from django.http import HttpRequest, HttpResponse -from pygeoapi.admin import Admin from pygeoapi.api import API @@ -544,10 +543,11 @@ def _feed_response(request: HttpRequest, api_definition: str, *args, **kwargs) -> Tuple[Dict, int, str]: """Use pygeoapi api to process the input request""" - if 'admin' not in api_definition: - api_ = API(settings.PYGEOAPI_CONFIG) - else: + if 'admin' in api_definition and settings.PYGEOAPI_CONFIG['server'].get('admin'): # noqa + from pygeoapi.admin import Admin api_ = Admin(settings.PYGEOAPI_CONFIG) + else: + api_ = API(settings.PYGEOAPI_CONFIG) api = getattr(api_, api_definition) diff --git a/pygeoapi/flask_app.py b/pygeoapi/flask_app.py index f2fceaa7a..c2250c254 100644 --- a/pygeoapi/flask_app.py +++ b/pygeoapi/flask_app.py @@ -36,7 +36,6 @@ from flask import Flask, Blueprint, make_response, request, send_from_directory -from pygeoapi.admin import Admin from pygeoapi.api import API from pygeoapi.openapi import load_openapi_document from pygeoapi.config import get_config @@ -48,6 +47,9 @@ API_RULES = get_api_rules(CONFIG) +if CONFIG['server'].get('admin'): + from pygeoapi.admin import Admin + STATIC_FOLDER = 'static' if 'templates' in CONFIG['server']: STATIC_FOLDER = CONFIG['server']['templates'].get('static', 'static') diff --git a/pygeoapi/starlette_app.py b/pygeoapi/starlette_app.py index b48088b91..242470188 100644 --- a/pygeoapi/starlette_app.py +++ b/pygeoapi/starlette_app.py @@ -50,7 +50,6 @@ import uvicorn from pygeoapi.api import API -from pygeoapi.admin import Admin from pygeoapi.openapi import load_openapi_document from pygeoapi.config import get_config from pygeoapi.util import get_api_rules @@ -62,6 +61,9 @@ OPENAPI = load_openapi_document() +if CONFIG['server'].get('admin'): + from pygeoapi.admin import Admin + p = Path(__file__) APP = Starlette(debug=True)