init
commit
4411bc1601
|
@ -0,0 +1,65 @@
|
|||
import json
|
||||
from datetime import datetime, date
|
||||
|
||||
import requests
|
||||
|
||||
url = 'https://covidtrackerapi.bsg.ox.ac.uk/api/v2/stringency/actions/'
|
||||
'''
|
||||
01. Belarus - BLR
|
||||
02. China - CHN
|
||||
03. France - FRA
|
||||
04. Germany - DEU
|
||||
05. India - IND
|
||||
06. Israel - ISR
|
||||
07. Russia - RUS
|
||||
08. Serbia - SRB
|
||||
09. Spain - ESP
|
||||
10. Turkey - TUR
|
||||
'''
|
||||
countries = ['blr', 'chn', 'fra', 'deu', 'ind', 'isr', 'rus', 'srb', 'esp', 'tur']
|
||||
tmp_output = {}
|
||||
|
||||
|
||||
def check_date(input_date):
|
||||
""" Check date format from input string.
|
||||
|
||||
Args: input_date - (str).
|
||||
Return: Bool - True if date correct. """
|
||||
try:
|
||||
valid_date = datetime.strptime(input_date, '%Y-%m-%d').date()
|
||||
if valid_date < date.today():
|
||||
return True
|
||||
else:
|
||||
print('Input date has not arrived yet')
|
||||
return False
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
|
||||
def request_one_country(api, cntr, day):
|
||||
""" Request from api-url.
|
||||
|
||||
Args: api - (str) - api url,
|
||||
cntr - (str) country alpha-3 code,
|
||||
day - (int) YYYY-MM-DD.
|
||||
Return: Response - (dict). """
|
||||
r_out = requests.get(f'{api}{cntr}/{day}')
|
||||
return r_out.json()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
while True:
|
||||
input_day = input('Input date YYYY-MM-DD): ')
|
||||
if check_date(input_day):
|
||||
break
|
||||
else:
|
||||
print('Incorrect input format')
|
||||
continue
|
||||
|
||||
for country in countries:
|
||||
out = request_one_country(url, country, input_day)
|
||||
tmp_output.setdefault(country, out.get('stringencyData'))
|
||||
|
||||
output = {input_day: tmp_output}
|
||||
with open('temp_out.json', 'w') as f:
|
||||
json.dump(output, f, sort_keys=True, indent=2)
|
Loading…
Reference in New Issue