Skip to content

Commit

Permalink
Merge pull request #13 from sledilnik/janssen
Browse files Browse the repository at this point in the history
Add support for Janssen manufacturer
  • Loading branch information
stefanb authored May 1, 2021
2 parents 8591ccb + 2d4a17f commit 88a455a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
10 changes: 6 additions & 4 deletions cepimose/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,13 @@ def _parse_vaccines_supplied_by_manufacturer(
]
parsed_data = []

if len(manufacturers) > 3:
if len(manufacturers) > 4:
print(manufacturers)
raise Exception("New manufacturer!")

def get_manufacturer(num):
manu_keys = ["pfizer", "moderna", "az"]
if num > 2 or num == None:
manu_keys = ["pfizer", "moderna", "az", "janssen"]
if num > 3 or num == None:
print(num)
raise Exception("Missing manufacturer!")
return manu_keys[num]
Expand All @@ -161,7 +161,7 @@ def get_manufacturer(num):
raise Exception("Unknown R value!")

manu_row = VaccinationByManufacturerRow(
date=None, pfizer=None, moderna=None, az=None
date=None, pfizer=None, moderna=None, az=None, janssen=None
)

if R == None:
Expand Down Expand Up @@ -209,6 +209,7 @@ def _parse_vaccines_supplied_by_manufacturer_cum(
moderna = None
pfizer = None
az = None
janssen = None

if len(elements) == 1:
el = elements[0]
Expand All @@ -235,6 +236,7 @@ def _parse_vaccines_supplied_by_manufacturer_cum(
pfizer=pfizer,
moderna=moderna,
az=az,
janssen=janssen,
)
)

Expand Down
1 change: 1 addition & 0 deletions cepimose/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class VaccinationByManufacturerRow:
pfizer: Optional[int]
moderna: Optional[int]
az: Optional[int]
janssen: Optional[int]


@dataclass
Expand Down
16 changes: 9 additions & 7 deletions test/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,12 @@ def assertRow(row, expected_date, expected):
self.assertEqual(row.pfizer, expected[0])
self.assertEqual(row.moderna, expected[1])
self.assertEqual(row.az, expected[2])
self.assertEqual(row.janssen, expected[3])

assertRow(data[1], datetime.datetime(2020, 12, 30), [8190, None, None]) # R = 2
assertRow(data[3], datetime.datetime(2021, 1, 11), [19890, None, None]) # R = 6
assertRow(data[1], datetime.datetime(2020, 12, 30), [8190, None, None, None]) # R = 2
assertRow(data[3], datetime.datetime(2021, 1, 11), [19890, None, None, None]) # R = 6
assertRow(
data[16], datetime.datetime(2021, 2, 25), [None, 8400, 16800]
data[16], datetime.datetime(2021, 2, 25), [None, 8400, 16800, None]
) # combined: two response data items with same date; second has R = 1

self.assertDatesIncreaseSince(data, datetime.datetime(2020, 12, 26))
Expand All @@ -134,11 +135,12 @@ def assertRow(row, expected_date, expected):
self.assertEqual(row.pfizer, expected[0])
self.assertEqual(row.moderna, expected[1])
self.assertEqual(row.az, expected[2])
self.assertEqual(row.janssen, expected[3])

assertRow(data[3], datetime.datetime(2021, 1, 11), [59670, None, None])
assertRow(data[7], datetime.datetime(2021, 1, 31), [None, 3600, None])
assertRow(data[10], datetime.datetime(2021, 2, 6), [None, None, 9600])
assertRow(data[16], datetime.datetime(2021, 2, 25), [None, 16800, 52800])
assertRow(data[3], datetime.datetime(2021, 1, 11), [59670, None, None, None])
assertRow(data[7], datetime.datetime(2021, 1, 31), [None, 3600, None, None])
assertRow(data[10], datetime.datetime(2021, 2, 6), [None, None, 9600, None])
assertRow(data[16], datetime.datetime(2021, 2, 25), [None, 16800, 52800, None])
# assertRow(
# data[len(data) - 1], datetime.datetime(2021, 4, 2), [285480, 46800, 144000]
# ) # this test will fail in the future
Expand Down

0 comments on commit 88a455a

Please sign in to comment.