diff --git a/app/location/__init__.py b/app/location/__init__.py index 1da5e9e5..43f80f6f 100644 --- a/app/location/__init__.py +++ b/app/location/__init__.py @@ -3,9 +3,18 @@ from ..utils import countries from ..utils.populations import country_population +from abc import abstractmethod, ABCMeta + +class ILocation(metaclass=ABCMeta): + + @abstractmethod + def serialize(): + """ + Serializes the location into a dict. + """ # pylint: disable=redefined-builtin,invalid-name -class Location: # pylint: disable=too-many-instance-attributes +class Location(ILocation): # pylint: disable=too-many-instance-attributes """ A location in the world affected by the coronavirus. """ @@ -74,6 +83,7 @@ def serialize(self): } + class TimelinedLocation(Location): """ A location with timelines. @@ -122,3 +132,5 @@ def serialize(self, timelines=False): # Return the serialized location. return serialized + + diff --git a/app/utils/baseurls.py b/app/utils/baseurls.py new file mode 100644 index 00000000..ccebf743 --- /dev/null +++ b/app/utils/baseurls.py @@ -0,0 +1,10 @@ +import enum + +class BaseUrl(str, enum.Enum): + """ + A base url available for retrieving data. + """ + + JHU = "https://raw.githubusercontent.com/CSSEGISandData/2019-nCoV/master/csse_covid_19_data/csse_covid_19_time_series/" + CSBS = "https://facts.csbs.org/covid-19/covid19_county.csv" + NYT = "https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv"