Skip to content

Commit 5a605ec

Browse files
authored
Refactor (#289)
* merge model modules * Combine end router modules move version 2 endpoint definitions to single module move version 1 endpoint definitions to single module * remove enum subpackage * add back warning suppression * fix module names * add source info to log message * tweak and fix logging to showup on Heroku
1 parent 56f51c5 commit 5a605ec

File tree

23 files changed

+157
-185
lines changed

23 files changed

+157
-185
lines changed

app/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,9 @@
33
~~~~~~~~~~~~~~~~~~~~~~~~
44
API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak.
55
"""
6+
import logging
7+
68
# See PEP396.
79
__version__ = "2.0.3"
10+
11+
logging.basicConfig(level=logging.INFO)

app/enums/sources.py

Lines changed: 0 additions & 11 deletions
This file was deleted.

app/main.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
from fastapi.responses import JSONResponse
1313

1414
from .data import data_source
15-
from .router.v1 import V1
16-
from .router.v2 import V2
15+
from .routers import V1, V2
1716
from .utils.httputils import setup_client_session, teardown_client_session
1817

1918
# ############
@@ -61,7 +60,7 @@ async def add_datasource(request: Request, call_next):
6160
request.state.source = source
6261

6362
# Move on...
64-
LOGGER.info(f"source provided: {source.__class__.__name__}")
63+
LOGGER.debug(f"source provided: {source.__class__.__name__}")
6564
response = await call_next(request)
6665
return response
6766

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,44 @@
1+
"""app.models.py"""
12
from typing import Dict, List
23

34
from pydantic import BaseModel
45

5-
from .latest import Latest
6-
from .timeline import Timelines
6+
7+
class Latest(BaseModel):
8+
"""
9+
Latest model.
10+
"""
11+
12+
confirmed: int
13+
deaths: int
14+
recovered: int
15+
16+
17+
class LatestResponse(BaseModel):
18+
"""
19+
Response for latest.
20+
"""
21+
22+
latest: Latest
23+
24+
25+
class Timeline(BaseModel):
26+
"""
27+
Timeline model.
28+
"""
29+
30+
latest: int
31+
timeline: Dict[str, int] = {}
32+
33+
34+
class Timelines(BaseModel):
35+
"""
36+
Timelines model.
37+
"""
38+
39+
confirmed: Timeline
40+
deaths: Timeline
41+
recovered: Timeline
742

843

944
class Location(BaseModel):

app/models/latest.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

app/models/timeline.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

app/router/__init__.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

app/router/v1/__init__.py

Lines changed: 0 additions & 4 deletions
This file was deleted.

app/router/v1/all.py

Lines changed: 0 additions & 20 deletions
This file was deleted.

app/router/v1/confirmed.py

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)