master
Долгий Артём 2022-03-03 10:14:58 +03:00
commit 4411bc1601
1 changed files with 65 additions and 0 deletions

65
first_step.py Normal file
View File

@ -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)