diff --git a/app/data/__init__.py b/app/data/__init__.py index 60a75dac..87f17401 100644 --- a/app/data/__init__.py +++ b/app/data/__init__.py @@ -3,19 +3,24 @@ from ..services.location.jhu import JhuLocationService from ..services.location.nyt import NYTLocationService + # Mapping of services to data-sources. -DATA_SOURCES = { - "jhu": JhuLocationService(), - "csbs": CSBSLocationService(), - "nyt": NYTLocationService(), -} +class DataSources: + data_sources = {} + + def __init__(self): + self.data_sources = { + "jhu": JhuLocationService(), + "csbs": CSBSLocationService(), + "nyt": NYTLocationService(), + } -def data_source(source): +def data_source(self, source): """ Retrieves the provided data-source service. :returns: The service. :rtype: LocationService """ - return DATA_SOURCES.get(source.lower()) + return self.data_sources.get(source.lower()) diff --git a/app/routers/v2.py b/app/routers/v2.py index 31eb408c..aa3a09de 100644 --- a/app/routers/v2.py +++ b/app/routers/v2.py @@ -3,7 +3,7 @@ from fastapi import APIRouter, HTTPException, Request -from ..data import DATA_SOURCES +from ..data import DataSources from ..models import LatestResponse, LocationResponse, LocationsResponse V2 = APIRouter() @@ -107,4 +107,4 @@ async def sources(): """ Retrieves a list of data-sources that are availble to use. """ - return {"sources": list(DATA_SOURCES.keys())} + return {"sources": list(DataSources.keys())}