diff --git a/app/location/__init__.py b/app/location/__init__.py index 1da5e9e5..a1e465b4 100644 --- a/app/location/__init__.py +++ b/app/location/__init__.py @@ -72,21 +72,23 @@ def serialize(self): "recovered": self.recovered, }, } +class LocationInfo: + def __init__(self, country, province, coordinates): + self.country = country, + self.province = province, + self.coordinates = coordinates, - -class TimelinedLocation(Location): +class TimelinedLocationObjectObject(Location): """ A location with timelines. """ # pylint: disable=too-many-arguments - def __init__(self, id, country, province, coordinates, last_updated, timelines): + def __init__(self, id, location, last_updated, timelines): super().__init__( # General info. id, - country, - province, - coordinates, + location, last_updated, # Statistics (retrieve latest from timelines). confirmed=timelines.get("confirmed").latest or 0, diff --git a/app/location/nyt.py b/app/location/nyt.py index ad92212e..d2ef4d79 100644 --- a/app/location/nyt.py +++ b/app/location/nyt.py @@ -1,10 +1,10 @@ """app.locations.nyt.py""" -from . import TimelinedLocation +from . import TimelinedLocationObject -class NYTLocation(TimelinedLocation): +class NYTLocation(TimelinedLocationObject): """ - A NYT (county) Timelinedlocation. + A NYT (county) TimelinedLocationObject. """ # pylint: disable=too-many-arguments,redefined-builtin diff --git a/app/services/location/jhu.py b/app/services/location/jhu.py index ebed3960..10ff2b6c 100644 --- a/app/services/location/jhu.py +++ b/app/services/location/jhu.py @@ -10,7 +10,7 @@ from ...caches import check_cache, load_cache from ...coordinates import Coordinates -from ...location import TimelinedLocation +from ...location import TimelinedLocationObject from ...models import Timeline from ...utils import countries from ...utils import date as date_util @@ -172,7 +172,7 @@ async def get_locations(): # Create location (supporting timelines) and append. locations.append( - TimelinedLocation( + TimelinedLocationObject( # General info. index, location["country"], diff --git a/tests/test_location.py b/tests/test_location.py index 36abeeab..349c966a 100644 --- a/tests/test_location.py +++ b/tests/test_location.py @@ -45,13 +45,16 @@ def test_location_class( # Date now. now = datetime.utcnow().isoformat() + "Z" - + # Location. - location_obj = location.TimelinedLocation( - test_id, + location_obj = location.LocationInfo( country, province, - coords, + coords + ) + location_obj = location.TimelinedLocationObject( + test_id, + location, now, {"confirmed": confirmed, "deaths": deaths, "recovered": recovered,}, ) diff --git a/tests/test_nyt.py b/tests/test_nyt.py index ca9c9dca..86aad51c 100644 --- a/tests/test_nyt.py +++ b/tests/test_nyt.py @@ -3,7 +3,7 @@ import pytest -from app.location import TimelinedLocation +from app.location import TimelinedLocationObject from app.location.nyt import NYTLocation from app.services.location import nyt from tests.conftest import mocked_strptime_isoformat @@ -23,7 +23,7 @@ async def test_get_locations(mock_client_session): serialized_locations = [] for location in locations: assert isinstance(location, NYTLocation) - assert isinstance(location, TimelinedLocation) + assert isinstance(location, TimelinedLocationObject) # Making sure country population is a non-zero value assert location.country_population != 0