Beispiel #1
0
    def test_website_timestamp(self):
        release_timestamp = Cov19API.get_release_timestamp()
        api_date = self.api.last_update

        self.assertIn("Z", release_timestamp)
        self.assertNotEqual(release_timestamp, api_date)

        website_date = datetime.fromisoformat(
            release_timestamp.strip("Z")).date()
        api_date = datetime.fromisoformat(api_date.strip("Z")).date()

        self.assertEqual(website_date, api_date)
Beispiel #2
0
def get_nations_data():
    current_update = read_last_update()

    if Update.last_update == '' or Update.last_update != current_update:
        api_all_nation = Cov19API(filters=ALL_NATIONS,
                                  structure=CASES_AND_DEATHS_NATION)
        api_uk_overview = Cov19API(filters=UK,
                                   structure=CASES_AND_DEATHS_NATION)
        Update.data_json = api_all_nation.get_json()
        Update.data_json_uk = api_uk_overview.get_json()
        api_all_nation.get_json(save_as="tmp\data_all_nation.json")
        Update.last_update = current_update
        release_timestamp = Cov19API.get_release_timestamp()
        Update.release_date = datetime.fromisoformat(
            release_timestamp.strip("Z")).strftime("%d.%m.%Y %H:%M:%S")
        #print(datetime.now())
        #print(Update.release_date)
        Update.data_obj_list = convert_update_to_obj()
        print('inside service.get_nations_data()')
    return Update.data_obj_list
Beispiel #3
0

#print(json.dumps(head['head'][0], indent=4, sort_keys=True))

#HEAD_URL = 'https://api.coronavirus.data.gov.uk/v1/data?filters=areaType=nation&structure={"name":"areaName"}'
#head = requests.head(HEAD_URL)
    #print(head)
    #print(head.headers)
    #head_decoded = decode(head)

# head.headers['Last-Modified']
#print(head.headers['Last-Modified'])

#print(json.dumps(x.json(), indent=4, sort_keys=True))

release_timestamp = Cov19API.get_release_timestamp()
release_time = str(datetime.fromisoformat(release_timestamp.strip("Z")).replace(microsecond=0))
current_time = str(datetime.now().replace(microsecond=0))
print(release_time)
print(current_time)

#diff = current_time - current_time
#print(diff.min)

format = '%Y-%m-%d %H:%M:%S'
d1 = datetime.strptime(current_time, format)
d2 = datetime.strptime(release_time, format)
delta = d1 - d2

print(delta.total_seconds())
Beispiel #4
0
    'cumulative': 'cumCasesBySpecimenDate'
}

data = []
areatype_filters = ['ltla', 'overview', 'nation']
for areatype in areatype_filters:
    downloader = Cov19API(filters=[f"areaType={areatype}"], structure=structure)
    filter_data = downloader.get_json()
    data.extend(filter_data['data'])
    num_pages += filter_data['totalPages']

with open(output_csvpath, 'w') as csv_file:
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow(list(data[0].keys()))    
    for item in data:
        csv_writer.writerow(list(item.values()))
    
end_time = datetime.datetime.now()

log_data = {
    'release_timestamp': Cov19API.get_release_timestamp(),
    'start_time': str(start_time),
    'end_time': str(end_time),
    'download_time': str(end_time - start_time),
    'total_pages': str(num_pages)
}

with open(output_logpath, 'w') as json_file:
    json_file.write(dumps(log_data))
    
exit(0)