X-Git-Url: https://plomlompom.com/repos/?p=berlin-corona-table;a=blobdiff_plain;f=enhance_table.py;h=4ce77925c91c985d1bfb177cb0d7ac5694d2d690;hp=fd401671a3723ed5798b4f49927e43e0e6b34aaa;hb=f91a74c7aa31a742e50629e4e57736cf5192320d;hpb=bdc52bdeda5f03066adb764c810a37dff408f2ff diff --git a/enhance_table.py b/enhance_table.py index fd40167..4ce7792 100755 --- a/enhance_table.py +++ b/enhance_table.py @@ -32,7 +32,7 @@ translate = { 'TS': 'Tempelhof-Schöneberg', 'TK': 'Treptow-Köpenick', 'sum': 'all of Berlin', - 'wsum': 'sum for last 7 days', + 'wsum': 'sum of new infections for last 7 days', 'wavg': 'per-day average of new infections for last 7 days', 'winc': 'incidence (x per 100k inhabitants) of new infections for last 7 days', } @@ -94,6 +94,10 @@ for line in lines[1:]: db[district][date] = {'new_infections': int(district_data)} sorted_dates.sort() +# Define and move sum_district from end to start. +sum_district = sorted_districts.pop() +sorted_districts.insert(0, sum_district) + # In LaGeSo's data, the last "district" is actually the sum of all districts / # the whole of Berlin. # @@ -103,9 +107,8 @@ sorted_dates.sort() # the table file, since we should have a human look at what mistake was # probably made. for date in sorted_dates: - sum_district = sorted_districts[-1] day_sum = 0 - for district in sorted_districts[:-1]: + for district in [d for d in sorted_districts if not d==sum_district]: day_sum += db[district][date]['new_infections'] if day_sum != db[sum_district][date]['new_infections']: raise Exception('Questionable district infection sum in %s' % date) @@ -135,37 +138,46 @@ if output_type == 'html': Berlin's Corona infection numbers, development by districts +home · contact · privacy

Berlin's Corona infection numbers, development by districts

Updated daily at 9pm based on data from the "Senatsverwaltung für Gesundheit, Pflege und Gleichstellung". Source code. Text view optimized for terminal curl.

-""") +""") sorted_dates.reverse() - sum_district = sorted_districts[-1] for district in sorted_districts: long_form = translate[district] - if sum_district == district: - print('' % long_form) - else: - print('' % long_form) + # Wrap in div because the vertical orientation otherwise fails + # in Chromium. + print('' % long_form) + print('') + print('') + # In Chromium, the th only stay fixed if also given this class. + print('') + print('') + for district in sorted_districts: + print('' % district) print('') for date in sorted_dates: print('') print('' % date) - long_wsum = translate['wsum'] - long_wavg = translate['wavg'] - long_winc = translate['winc'] + print('') for district in sorted_districts: district_data = db[district][date] - week_sum = week_avg = week_inc = '(not enough data)' + week_sum = week_avg = week_inc = '?' new_infections = district_data['new_infections'] if 'week_sum' in district_data: week_sum = '%s' % district_data['week_sum'] @@ -174,16 +186,12 @@ table, tr, th, td { border: 1px solid black; text-align: center; } if 'week_incidence' in district_data: week_inc = '%.1f' % district_data['week_incidence'] print('') print('') print('
date%s%s
%s
date%s
%s') + print('') + for abbr in ['wsum', 'wavg', 'winc']: + print('' % + (translate[abbr], abbr)) + print('
new
%s
') - print('%s' % new_infections) - if district != sum_district: - print('
') - print('') - print('' % (long_wsum, week_sum)) - print('' % (long_wavg, week_avg)) - print('' % (long_winc, week_inc)) + print('
%s%s
%s%s
%s%s
') + print('' % new_infections) + print('' % week_sum) + print('' % week_avg) + print('' % week_inc) print('
%s
%s
%s
%s
') - if district != sum_district: - print('
') print('
') @@ -203,7 +211,6 @@ Abbrevations/explanations: intro += "%s: %s\n" % (k, translate[k]) intro += """ Source code: https://plomlompom.com/repos/?p=berlin-corona-table - HTML view: https://plomlompom.com/berlin_corona.html """ print(intro) @@ -212,7 +219,6 @@ HTML view: https://plomlompom.com/berlin_corona.html # separated into 7-day units. sorted_dates.reverse() weekday_count = 0 - sum_district = sorted_districts[-1] for date in sorted_dates: # Week table header.