Skip to content

Commit

Permalink
Merge branch 'expands-search-api-structure' into add-datagateway-and-…
Browse files Browse the repository at this point in the history
…panosc-modes-#256
  • Loading branch information
Viktor Bozhinov committed Nov 15, 2021
2 parents 615f4d5 + dc6dba4 commit c23b0e5
Show file tree
Hide file tree
Showing 80 changed files with 174 additions and 212 deletions.
6 changes: 3 additions & 3 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ per-file-ignores =
test/*: S101
util/icat_db_generator.py: S311
datagateway_api/wsgi.py:E402,F401
datagateway_api/common/datagateway_api/database/models.py: N815,A003
datagateway_api/common/datagateway_api/icat/filters.py: C901
datagateway_api/common/search_api/models.py: B950
datagateway_api/src/datagateway_api/database/models.py: N815,A003
datagateway_api/src/datagateway_api/icat/filters.py: C901
datagateway_api/src/search_api/models.py: B950
enable-extensions=G
24 changes: 9 additions & 15 deletions datagateway_api/src/api_start_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,27 @@
from flask_restful import Api
from flask_swagger_ui import get_swaggerui_blueprint

from datagateway_api.common.config import config
from datagateway_api.src.common.config import config

# Only attempt to create a DataGateway API backend if the datagateway_api object
# is present in the config. This ensures that the API does not error on startup
# due to an AttributeError exception being thrown if the object is missing.
if config.datagateway_api is not None:
from datagateway_api.common.datagateway_api.backends import create_backend
from datagateway_api.common.datagateway_api.database.helpers import db # noqa: I202
from datagateway_api.common.datagateway_api.icat.icat_client_pool import (
create_client_pool,
)
from datagateway_api.src.resources.datagateway_api.entities.entity_endpoint import (
from datagateway_api.src.datagateway_api.backends import create_backend
from datagateway_api.src.datagateway_api.database.helpers import db # noqa: I202
from datagateway_api.src.datagateway_api.icat.icat_client_pool import create_client_pool
from datagateway_api.src.resources.entities.entity_endpoint import (
get_count_endpoint,
get_endpoint,
get_find_one_endpoint,
get_id_endpoint,
)
from datagateway_api.src.resources.datagateway_api.entities.entity_endpoint_dict import ( # noqa: B950
endpoints,
)
from datagateway_api.src.resources.datagateway_api.non_entities.ping_endpoint import (
ping_endpoint,
)
from datagateway_api.src.resources.datagateway_api.non_entities.sessions_endpoints import ( # noqa: B950
from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints
from datagateway_api.src.resources.non_entities.ping_endpoint import ping_endpoint
from datagateway_api.src.resources.non_entities.sessions_endpoints import (
session_endpoints,
)
from datagateway_api.src.resources.datagateway_api.table_endpoints.table_endpoints import ( # noqa: B950
from datagateway_api.src.resources.table_endpoints.table_endpoints import (
count_instrument_facility_cycles_endpoint,
count_instrument_investigation_endpoint,
instrument_facility_cycles_endpoint,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ class APIConfig(BaseModel):
test_user_credentials: Optional[TestUserCredentials]

@classmethod
def load(cls, path=Path(__file__).parent.parent / "config.json"):
def load(cls, path=Path(__file__).parent.parent.parent / "config.json"):
"""
Loads the config data from the JSON file and returns it as a APIConfig pydantic
model. Exits the application if it fails to locate the JSON config file or
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from dateutil.parser import parse
from icat import helper

from datagateway_api.common.exceptions import BadRequestError
from datagateway_api.src.common.exceptions import BadRequestError


class DateHandler:
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from abc import ABC, abstractmethod
import logging

from datagateway_api.common.exceptions import BadRequestError, FilterError
from datagateway_api.src.common.exceptions import BadRequestError, FilterError

log = logging.getLogger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,17 @@
import requests
from sqlalchemy.exc import IntegrityError

from datagateway_api.common.datagateway_api.database import models
from datagateway_api.common.datagateway_api.query_filter_factory import (
QueryFilterFactory,
)
from datagateway_api.common.date_handler import DateHandler
from datagateway_api.common.exceptions import (
from datagateway_api.src.common.date_handler import DateHandler
from datagateway_api.src.common.exceptions import (
ApiError,
AuthenticationError,
BadRequestError,
FilterError,
MissingCredentialsError,
)
from datagateway_api.src.resources.datagateway_api.entities.entity_endpoint_dict import ( # noqa: B950
endpoints,
)
from datagateway_api.src.datagateway_api.database import models
from datagateway_api.src.datagateway_api.query_filter_factory import QueryFilterFactory
from datagateway_api.src.resources.entities.entity_endpoint_dict import endpoints

log = logging.getLogger()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import logging.config
from pathlib import Path

from datagateway_api.common.config import config
from datagateway_api.src.common.config import config

LOG_FILE_NAME = Path(config.log_location)
logger_config = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import sys

from datagateway_api.common.datagateway_api.database.backend import DatabaseBackend
from datagateway_api.common.datagateway_api.icat.backend import PythonICATBackend
from datagateway_api.src.datagateway_api.database.backend import DatabaseBackend
from datagateway_api.src.datagateway_api.icat.backend import PythonICATBackend


def create_backend(backend_type):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,14 @@
from sqlalchemy import inspect
from sqlalchemy.exc import SQLAlchemyError

from datagateway_api.common.constants import Constants
from datagateway_api.common.datagateway_api.backend import Backend
from datagateway_api.common.datagateway_api.database.helpers import (
from datagateway_api.src.common.constants import Constants
from datagateway_api.src.common.exceptions import AuthenticationError, DatabaseError
from datagateway_api.src.common.helpers import (
get_entity_object_from_name,
queries_records,
)
from datagateway_api.src.datagateway_api.backend import Backend
from datagateway_api.src.datagateway_api.database.helpers import (
create_rows_from_json,
db,
delete_row_by_id,
Expand All @@ -24,9 +29,7 @@
requires_session_id,
update_row_from_id,
)
from datagateway_api.common.datagateway_api.database.models import SESSION
from datagateway_api.common.exceptions import AuthenticationError, DatabaseError
from datagateway_api.common.helpers import get_entity_object_from_name, queries_records
from datagateway_api.src.datagateway_api.database.models import SESSION


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

from sqlalchemy import asc, desc

from datagateway_api.common.exceptions import FilterError, MultipleIncludeError
from datagateway_api.common.filters import (
from datagateway_api.src.common.exceptions import FilterError, MultipleIncludeError
from datagateway_api.src.common.filters import (
DistinctFieldFilter,
IncludeFilter,
LimitFilter,
OrderFilter,
SkipFilter,
WhereFilter,
)
from datagateway_api.common.helpers import get_entity_object_from_name
from datagateway_api.src.common.helpers import get_entity_object_from_name


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,26 @@
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.orm import aliased

from datagateway_api.common.datagateway_api.database.filters import (
from datagateway_api.src.common.exceptions import (
AuthenticationError,
BadRequestError,
MissingRecordError,
)
from datagateway_api.src.common.helpers import map_distinct_attributes_to_results
from datagateway_api.src.datagateway_api.database.filters import (
DatabaseDistinctFieldFilter,
DatabaseIncludeFilter as IncludeFilter,
DatabaseWhereFilter as WhereFilter,
)
from datagateway_api.common.datagateway_api.database.models import (
from datagateway_api.src.datagateway_api.database.models import (
FACILITY,
FACILITYCYCLE,
INSTRUMENT,
INVESTIGATION,
INVESTIGATIONINSTRUMENT,
SESSION,
)
from datagateway_api.common.datagateway_api.filter_order_handler import (
FilterOrderHandler,
)
from datagateway_api.common.exceptions import (
AuthenticationError,
BadRequestError,
MissingRecordError,
)
from datagateway_api.common.helpers import map_distinct_attributes_to_results
from datagateway_api.src.datagateway_api.filter_order_handler import FilterOrderHandler


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
from sqlalchemy.orm import relationship
from sqlalchemy.orm.collections import InstrumentedList

from datagateway_api.common.date_handler import DateHandler
from datagateway_api.common.exceptions import DatabaseError, FilterError
from datagateway_api.src.common.date_handler import DateHandler
from datagateway_api.src.common.exceptions import DatabaseError, FilterError

Base = declarative_base()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import logging

from datagateway_api.common.datagateway_api.icat.filters import (
from datagateway_api.src.datagateway_api.icat.filters import (
PythonICATLimitFilter,
PythonICATOrderFilter,
PythonICATSkipFilter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

from icat.exception import ICATError, ICATSessionError

from datagateway_api.common.constants import Constants
from datagateway_api.common.datagateway_api.backend import Backend
from datagateway_api.common.datagateway_api.icat.helpers import (
from datagateway_api.src.common.constants import Constants
from datagateway_api.src.common.exceptions import AuthenticationError, PythonICATError
from datagateway_api.src.common.helpers import queries_records
from datagateway_api.src.datagateway_api.backend import Backend
from datagateway_api.src.datagateway_api.icat.helpers import (
create_entities,
delete_entity_by_id,
get_cached_client,
Expand All @@ -23,8 +25,6 @@
update_entities,
update_entity_by_id,
)
from datagateway_api.common.exceptions import AuthenticationError, PythonICATError
from datagateway_api.common.helpers import queries_records


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import logging

from datagateway_api.common.config import config
from datagateway_api.common.exceptions import FilterError
from datagateway_api.common.filters import (
from datagateway_api.src.common.config import config
from datagateway_api.src.common.exceptions import FilterError
from datagateway_api.src.common.filters import (
DistinctFieldFilter,
IncludeFilter,
LimitFilter,
OrderFilter,
SkipFilter,
WhereFilter,
)
from datagateway_api.common.helpers import get_icat_properties
from datagateway_api.src.common.helpers import get_icat_properties


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,20 @@
ICATValidationError,
)

from datagateway_api.common.datagateway_api.filter_order_handler import (
FilterOrderHandler,
)
from datagateway_api.common.datagateway_api.icat.filters import (
PythonICATLimitFilter,
PythonICATWhereFilter,
)
from datagateway_api.common.datagateway_api.icat.lru_cache import ExtendedLRUCache
from datagateway_api.common.datagateway_api.icat.query import ICATQuery
from datagateway_api.common.date_handler import DateHandler
from datagateway_api.common.exceptions import (
from datagateway_api.src.common.date_handler import DateHandler
from datagateway_api.src.common.exceptions import (
AuthenticationError,
BadRequestError,
MissingRecordError,
PythonICATError,
)
from datagateway_api.src.datagateway_api.filter_order_handler import FilterOrderHandler
from datagateway_api.src.datagateway_api.icat.filters import (
PythonICATLimitFilter,
PythonICATWhereFilter,
)
from datagateway_api.src.datagateway_api.icat.lru_cache import ExtendedLRUCache
from datagateway_api.src.datagateway_api.icat.query import ICATQuery

log = logging.getLogger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from icat.client import Client
from object_pool import ObjectPool

from datagateway_api.common.config import config
from datagateway_api.src.common.config import config

log = logging.getLogger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from cachetools.lru import LRUCache

from datagateway_api.common.config import config
from datagateway_api.src.common.config import config

log = logging.getLogger()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
from icat.exception import ICATInternalError, ICATValidationError
from icat.query import Query

from datagateway_api.common.date_handler import DateHandler
from datagateway_api.common.exceptions import PythonICATError
from datagateway_api.common.helpers import map_distinct_attributes_to_results
from datagateway_api.src.common.date_handler import DateHandler
from datagateway_api.src.common.exceptions import PythonICATError
from datagateway_api.src.common.helpers import map_distinct_attributes_to_results


log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import logging

from datagateway_api.common.config import config
from datagateway_api.common.exceptions import (
from datagateway_api.src.common.config import config
from datagateway_api.src.common.exceptions import (
ApiError,
FilterError,
)
Expand Down Expand Up @@ -29,7 +29,7 @@ def get_query_filter(request_filter):

backend_type = config.datagateway_api.backend
if backend_type == "db":
from datagateway_api.common.datagateway_api.database.filters import (
from datagateway_api.src.datagateway_api.database.filters import (
DatabaseDistinctFieldFilter as DistinctFieldFilter,
DatabaseIncludeFilter as IncludeFilter,
DatabaseLimitFilter as LimitFilter,
Expand All @@ -38,7 +38,7 @@ def get_query_filter(request_filter):
DatabaseWhereFilter as WhereFilter,
)
elif backend_type == "python_icat":
from datagateway_api.common.datagateway_api.icat.filters import (
from datagateway_api.src.datagateway_api.icat.filters import (
PythonICATDistinctFieldFilter as DistinctFieldFilter,
PythonICATIncludeFilter as IncludeFilter,
PythonICATLimitFilter as LimitFilter,
Expand Down
4 changes: 2 additions & 2 deletions datagateway_api/src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

from flask import Flask

from datagateway_api.common.config import config
from datagateway_api.common.logger_setup import setup_logger
from datagateway_api.src.api_start_utils import (
create_api_endpoints,
create_app_infrastructure,
create_openapi_endpoint,
openapi_config,
)
from datagateway_api.src.common.config import config
from datagateway_api.src.common.logger_setup import setup_logger

setup_logger()
log = logging.getLogger()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from flask import request
from flask_restful import Resource

from datagateway_api.common.helpers import (
from datagateway_api.src.common.helpers import (
get_filters_from_query_string,
get_session_id_from_auth_header,
)
Expand Down
Loading

0 comments on commit c23b0e5

Please sign in to comment.