Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions app/coordinates.py

This file was deleted.

2 changes: 1 addition & 1 deletion app/location/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""app.location"""
from ..coordinates import Coordinates
from ..models import Coordinates
from ..utils import countries
from ..utils.populations import country_population

Expand Down
23 changes: 23 additions & 0 deletions app/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,26 @@ class LocationsResponse(BaseModel):

latest: Latest
locations: List[Location] = []


class Coordinates:
"""
A position on earth using decimal coordinates (latitude and longitude).
"""

def __init__(self, latitude, longitude):
self.latitude = latitude
self.longitude = longitude

def serialize(self):
"""
Serializes the coordinates into a dict.

:returns: The serialized coordinates.
:rtype: dict
"""
return {"latitude": self.latitude, "longitude": self.longitude}

def __str__(self):
return "lat: %s, long: %s" % (self.latitude, self.longitude)

2 changes: 1 addition & 1 deletion app/services/location/csbs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from cachetools import TTLCache

from ...caches import check_cache, load_cache
from ...coordinates import Coordinates
from ...models import Coordinates
from ...location.csbs import CSBSLocation
from ...utils import httputils
from . import LocationService
Expand Down
2 changes: 1 addition & 1 deletion app/services/location/jhu.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from cachetools import TTLCache

from ...caches import check_cache, load_cache
from ...coordinates import Coordinates
from ...models import Coordinates
from ...location import TimelinedLocation
from ...models import Timeline
from ...utils import countries
Expand Down
2 changes: 1 addition & 1 deletion app/services/location/nyt.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from cachetools import TTLCache

from ...caches import check_cache, load_cache
from ...coordinates import Coordinates
from ...models import Coordinates
from ...location.nyt import NYTLocation
from ...models import Timeline
from ...utils import httputils
Expand Down
4 changes: 2 additions & 2 deletions tests/test_coordinates.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

import pytest

from app import coordinates
from app import models


@pytest.mark.parametrize("latitude, longitude", [("1", "2"), (100, "2"), (-3, 0), (-10, -10000000)])
def test_coordinates_class(latitude, longitude):
coord_obj = coordinates.Coordinates(latitude=latitude, longitude=longitude)
coord_obj = models.Coordinates(latitude=latitude, longitude=longitude)

# validate serialize
check_obj = {"latitude": latitude, "longitude": longitude}
Expand Down
4 changes: 2 additions & 2 deletions tests/test_location.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import pytest

from app import coordinates, location, models
from app import models, location, models


def mocked_timeline(*args, **kwargs):
Expand Down Expand Up @@ -36,7 +36,7 @@ def test_location_class(
recovered_latest,
):
# id, country, province, coordinates, confirmed, deaths, recovered
coords = coordinates.Coordinates(latitude=latitude, longitude=longitude)
coords = models.Coordinates(latitude=latitude, longitude=longitude)

# Timelines
confirmed = models.Timeline(confirmed_latest)
Expand Down