From 374d90b8e3757100d93bf5105f797cc3e4292c2a Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 03:28:16 +0200 Subject: [PATCH 1/6] Minor improvements --- bot.py | 2 +- docker-compose.yml | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/bot.py b/bot.py index 1bfb18a..649e091 100644 --- a/bot.py +++ b/bot.py @@ -52,7 +52,7 @@ mongodb_pass = os.environ.get('MONGODB_PASS') if mongodb_user is None or mongodb_pass is None: print('No mongodb auth.') exit() -mongodb_uri = 'mongodb://' + mongodb_user + ':' + mongodb_pass + '@db:27017', +mongodb_uri = 'mongodb://' + mongodb_user + ':' + mongodb_pass + '@db:27017' # Init mongodb database client = MongoClient(mongodb_uri) diff --git a/docker-compose.yml b/docker-compose.yml index 09acf9e..801e25d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,15 @@ -version: "3.5" +version: '3.7' networks: itavscovidbot.network: name: itavscovidbot.network + driver: bridge services: db: - image: mongo + image: mongo:latest container_name: itavscovidbot.db restart: unless-stopped env_file: @@ -21,11 +22,9 @@ services: db.web: depends_on: - db - image: mongo-express + image: mongo-express:latest container_name: itavscovidbot.db.web restart: unless-stopped - links: - - db env_file: - ./db/web/.env ports: @@ -36,13 +35,10 @@ services: app: depends_on: - db - - db.web build: context: . container_name: itavscovidbot.app restart: unless-stopped - links: - - db env_file: - ./.env networks: From ee5df0c4c7269de2fa6467723f7302c3faf504f1 Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 14:15:34 +0200 Subject: [PATCH 2/6] Restyle --- template.html => assets/templates/intro.html | 30 +-- assets/templates/plot.html | 87 +++++++++ bot.py | 189 ++++++++++++------- 3 files changed, 213 insertions(+), 93 deletions(-) rename template.html => assets/templates/intro.html (66%) create mode 100644 assets/templates/plot.html diff --git a/template.html b/assets/templates/intro.html similarity index 66% rename from template.html rename to assets/templates/intro.html index 813d78f..7aed320 100644 --- a/template.html +++ b/assets/templates/intro.html @@ -41,33 +41,11 @@

Analisi dei dati della campagna vaccinale

- La campagna vaccinale in Italia è iniziata da poco e chiaramente non è ancora a regime. La stima qui effettuata - sarà via via più affidabile con l'aumentare dei dati e indica il tempo che mancherebbe al raggiungimento + La stima qui effettuata indica il tempo che mancherebbe al raggiungimento dell'immunità di gregge qualora si tenesse il ritmo degli ultimi 7 giorni.


- In Italia sono state somministrate
- - - dosi di vaccino
- che corrispondono a
- - - persone vaccinate,
- ovvero
- - - della popolazione. -
- Ne abbiamo vaccinate
- - - nell'ultima settimana,
- con un ritmo di
- - - vaccinati al giorno.
Continuando di questo passo, raggiungeremo l'immunità di gregge il
@@ -81,13 +59,13 @@ giorni.
- Grafico vaccinati ultima settimana +

I dati non comprendono quelli del giorno attuale perché solitamente incompleti.

- Dal 2 febbraio 2021 il grafico mostra i dati delle persone vaccinate, - ovvero di chi ha ricevuto entrambe le dosi. + Dal 21 maggio 2021 vengono mostrati due differenti grafici per differenziare + le prime e le seconde dosi.

diff --git a/assets/templates/plot.html b/assets/templates/plot.html new file mode 100644 index 0000000..c6a4e76 --- /dev/null +++ b/assets/templates/plot.html @@ -0,0 +1,87 @@ + + + + + @itavscovidbot + + + + + + +
+ +
+
+
+

+ +

+ Somministrazioni +
+
+
+
+

+ +

+ / 100% +
+
+
+
+
+
+

+ +

+ Questa settimana +
+
+
+
+

+ +

+ Media settimanale +
+
+
+ +
+ + Grafico vaccinati ultima settimana + +
+ + \ No newline at end of file diff --git a/bot.py b/bot.py index 649e091..b11ba1c 100644 --- a/bot.py +++ b/bot.py @@ -5,6 +5,7 @@ import secrets import schedule import time from dotenv import load_dotenv +from telegram import InputMediaPhoto from telegram.ext import Updater from telegram.ext import CommandHandler from pymongo import MongoClient @@ -61,6 +62,101 @@ db = client['bot'] +def progress(first, second, total = ITALIAN_POPULATION): + + progress_length = 20 + + # first : total = x : 100 + first_perc = (first * 100) / total + # second : total = x : 100 + second_perc = (second * 100) / total + + # first_perc : x = 100 : progress_length + first_cycle = int(first_perc / (100 / progress_length)) + # second_perc : x = 100 : progress_length + second_cycle = int(second_perc / (100 / progress_length)) + + # first progress + first_progress = '' + for i in range(0, first_cycle): + first_progress = first_progress + '▓' + for i in range(0, progress_length - first_cycle): + first_progress = first_progress + '░' + # second progress + second_progress = '' + for i in range(0, second_cycle): + second_progress = second_progress + '▓' + for i in range(0, progress_length - second_cycle): + second_progress = second_progress + '░' + + return first_progress, second_progress + + + +def generate(df, target = 'totale', template = 'template.html'): + + # Get data from df + totalVaccines = sum(df[target]) + lastWeekData = df.loc[df.index > df.index[-1] - td(days=7)] + vaccinesPerDayAverage = sum(lastWeekData[target]) / 7 + remainingDays = (HIT - totalVaccines) / vaccinesPerDayAverage + hitDate = df.index[-1] + td(days=remainingDays) + + # Generate plot + plt.ylabel('Vaccinati' if target == 'seconda_dose' else 'Somministrazioni') + plt.xlabel("Ultima settimana") + plt.grid(True) + plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) + plt.gca().xaxis.set_major_locator(mdates.AutoDateLocator()) + plt.gcf().autofmt_xdate() + plt.bar(lastWeekData.index, height=lastWeekData[target]) + # Trendline + z = np.polyfit(range(0, 7), lastWeekData[target], 2) + p = np.poly1d(z) + plt.plot(lastWeekData.index, p(range(0, 7)), "r--") + # Secret 4 filenames + sf = secrets.token_hex(16) + # Generate plot filename + plot_filename = 'plot_' + sf + '.png' + # Create plot image/png + plt.savefig('out/' + plot_filename, dpi=300, bbox_inches='tight') + # Flush the plot + plt.clf() + # Generate tmp webpage/html filename + webpage_filename = 'tmp_' + sf + '.html' + # Generate template + with open(template, 'r+') as f: + with open('out/' + webpage_filename, 'w+') as wf: + for line in f.read().splitlines(): + if "" in line: + line = f"{totalVaccines}" + elif "" in line: + line = f"{str(round(totalVaccines / ITALIAN_POPULATION * 100, 2)).replace('.', ',')}%" + elif "" in line: + line = f"{int(vaccinesPerDayAverage*7)}" + elif "" in line: + line = f"{int(vaccinesPerDayAverage)}" + elif "" in line: + line = f"{hitDate.strftime('%d/%m/%Y')}" + elif "" in line: + line = f"{hitDate.strftime('%H:%M:%S')}" + elif "" in line: + line = f"{int(remainingDays)}" + elif "plot.png" in line: + line = line.replace('plot.png', plot_filename) + wf.write("\n" + line) + # Generate plot filename + results_filename = 'results_' + sf + '.png' + # Create results image/png + imgkit.from_file('out/' + webpage_filename, 'out/' + results_filename) + + # Return out data + return { + 'plot': 'out/' + plot_filename, + 'results': 'out/' + results_filename, + 'webpage': 'out/' + webpage_filename + } + # Function to get data def download(): @@ -97,69 +193,16 @@ def download(): if dt.now() - df_vaccines.index[-1] < td(days=1): df_vaccines = df_vaccines[:-1] # Ignore the current day because it's often incomplete - totalDoses = sum(df_doses["totale"]) - totalVaccines = sum(df_vaccines["seconda_dose"]) - lastWeekData = df_vaccines.loc[df_vaccines.index > df_vaccines.index[-1] - td(days=7)] - vaccinesPerDayAverage = sum(lastWeekData["seconda_dose"]) / 7 - remainingDays = (HIT - totalVaccines) / vaccinesPerDayAverage - hitDate = df_vaccines.index[-1] + td(days=remainingDays) + # Generata images + intro = generate(df_vaccines, 'seconda_dose', 'assets/templates/intro.html') + plot1 = generate(df_doses, 'totale', 'assets/templates/plot.html') + plot2 = generate(df_vaccines, 'seconda_dose', 'assets/templates/plot.html') - # Generate plot - plt.ylabel("Vaccinati al giorno") - plt.xlabel("Ultima settimana") - plt.grid(True) - plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) - plt.gca().xaxis.set_major_locator(mdates.AutoDateLocator()) - plt.gcf().autofmt_xdate() - plt.bar(lastWeekData.index, height=lastWeekData["seconda_dose"]) - # Trendline - z = np.polyfit(range(0, 7), lastWeekData["seconda_dose"], 2) - p = np.poly1d(z) - plt.plot(lastWeekData.index, p(range(0, 7)), "r--") - # Secret 4 filenames - sf = secrets.token_hex(16) - # Generate plot filename - plot_filename = 'plot_' + sf + '.png' - # Create plot image/png - plt.savefig('out/' + plot_filename, dpi=300, bbox_inches='tight') - # Flush the plot - plt.clf() - # Generate tmp webpage/html filename - webpage_filename = 'tmp_' + sf + '.html' - # Generate template - with open('template.html', 'r+') as f: - with open('out/' + webpage_filename, 'w+') as wf: - for line in f.read().splitlines(): - if "" in line: - line = f"{totalDoses}" - elif "" in line: - line = f"{totalVaccines}" - elif "" in line: - line = f"{str(round(totalVaccines / ITALIAN_POPULATION * 100, 2)).replace('.', ',')}%" - elif "" in line: - line = f"{int(vaccinesPerDayAverage*7)}" - elif "" in line: - line = f"{int(vaccinesPerDayAverage)}" - elif "" in line: - line = f"{hitDate.strftime('%d/%m/%Y')}" - elif "" in line: - line = f"{hitDate.strftime('%H:%M:%S')}" - elif "" in line: - line = f"{int(remainingDays)}" - elif "plot.png" in line: - line = line.replace('plot.png', plot_filename) - wf.write("\n" + line) - # Generate plot filename - results_filename = 'results_' + sf + '.png' - # Create results image/png - imgkit.from_file('out/' + webpage_filename, 'out/' + results_filename) + # Generate progression + progression = [sum(df_doses['totale']), sum(df_vaccines['seconda_dose'])] + + return intro, plot1, plot2, progression - # Return out data - return { - 'plot': 'out/' + plot_filename, - 'results': 'out/' + results_filename, - 'webpage': 'out/' + webpage_filename - } # Help command @@ -291,15 +334,27 @@ def news(update, context): def get(update, context): # Download data - data = download() + intro, plot1, plot2, progression = download() - # Send photo - context.bot.send_photo(chat_id=update.effective_chat.id, photo=open(data['results'], 'rb'), caption="") + # Send photos + p1 = open(intro['results'], 'rb') + p2 = open(plot1['results'], 'rb') + p3 = open(plot2['results'], 'rb') + + first, second = progress(progression[0], progression[1]) + caption = 'Prima Dose\n' + first + '\nSeconda Dose\n' + second + + p1 = InputMediaPhoto(media=p1, caption=caption) + p2 = InputMediaPhoto(media=p2) + p3 = InputMediaPhoto(media=p3) + + context.bot.send_media_group(chat_id=update.effective_chat.id, media=[p1, p2, p3]) # Remove tmp files - os.remove(data['plot']) - os.remove(data['webpage']) - os.remove(data['results']) + for data in [intro, plot1, plot2]: + os.remove(data['plot']) + os.remove(data['webpage']) + os.remove(data['results']) From 0a5038306e0fea541aebbe51885a5350549cdaf8 Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 14:25:23 +0200 Subject: [PATCH 3/6] Total --> First --- assets/templates/intro.html | 2 +- bot.py | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/assets/templates/intro.html b/assets/templates/intro.html index 7aed320..d8d3e0d 100644 --- a/assets/templates/intro.html +++ b/assets/templates/intro.html @@ -64,7 +64,7 @@ I dati non comprendono quelli del giorno attuale perché solitamente incompleti.

- Dal 21 maggio 2021 vengono mostrati due differenti grafici per differenziare + Dal 21 maggio 2021 sono mostrati due differenti grafici per differenziare le prime e le seconde dosi.

diff --git a/bot.py b/bot.py index b11ba1c..0e323fc 100644 --- a/bot.py +++ b/bot.py @@ -93,7 +93,7 @@ def progress(first, second, total = ITALIAN_POPULATION): -def generate(df, target = 'totale', template = 'template.html'): +def generate(df, target, template): # Get data from df totalVaccines = sum(df[target]) @@ -103,7 +103,7 @@ def generate(df, target = 'totale', template = 'template.html'): hitDate = df.index[-1] + td(days=remainingDays) # Generate plot - plt.ylabel('Vaccinati' if target == 'seconda_dose' else 'Somministrazioni') + plt.ylabel('Seconda Dose' if target == 'seconda_dose' else 'Prima Dose' if target == 'prima_dose' else 'Totale') plt.xlabel("Ultima settimana") plt.grid(True) plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) @@ -178,28 +178,28 @@ def download(): # Delete sum data if already exists df = df[df["area"] != "ITA"] # Set target counters to numeric - df["totale"] = pd.to_numeric(df["totale"]) + df["prima_dose"] = pd.to_numeric(df["prima_dose"]) df["seconda_dose"] = pd.to_numeric(df["seconda_dose"]) # Group by day and sum counters - df_doses = df.groupby(['data_somministrazione'])['totale'].sum().reset_index() - df_vaccines = df.groupby(['data_somministrazione'])['seconda_dose'].sum().reset_index() + df_first = df.groupby(['data_somministrazione'])['prima_dose'].sum().reset_index() + df_second = df.groupby(['data_somministrazione'])['seconda_dose'].sum().reset_index() # Re-set date as ID in new dataframe - df_doses = df_doses.set_index('data_somministrazione') - df_vaccines = df_vaccines.set_index('data_somministrazione') + df_first = df_first.set_index('data_somministrazione') + df_second = df_second.set_index('data_somministrazione') # If there are current day data... - if dt.now() - df_doses.index[-1] < td(days=1): - df_doses = df_doses[:-1] # Ignore the current day because it's often incomplete - if dt.now() - df_vaccines.index[-1] < td(days=1): - df_vaccines = df_vaccines[:-1] # Ignore the current day because it's often incomplete + if dt.now() - df_first.index[-1] < td(days=1): + df_first = df_first[:-1] # Ignore the current day because it's often incomplete + if dt.now() - df_second.index[-1] < td(days=1): + df_second = df_second[:-1] # Ignore the current day because it's often incomplete # Generata images - intro = generate(df_vaccines, 'seconda_dose', 'assets/templates/intro.html') - plot1 = generate(df_doses, 'totale', 'assets/templates/plot.html') - plot2 = generate(df_vaccines, 'seconda_dose', 'assets/templates/plot.html') + intro = generate(df_second, 'seconda_dose', 'assets/templates/intro.html') + plot1 = generate(df_first, 'prima_dose', 'assets/templates/plot.html') + plot2 = generate(df_second, 'seconda_dose', 'assets/templates/plot.html') # Generate progression - progression = [sum(df_doses['totale']), sum(df_vaccines['seconda_dose'])] + progression = [sum(df_first['prima_dose']), sum(df_second['seconda_dose'])] return intro, plot1, plot2, progression From e8a11e9d4272fffb325d709ec62e38b0117f1af1 Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 14:49:56 +0200 Subject: [PATCH 4/6] Update README.md --- README.md | 2 +- assets/images/logo.png | Bin 41148 -> 43980 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 16d03cd..022eafa 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ Il bot è stato sviluppato da [@derogab](https://github.com/derogab) e il codice I dati mostrati sono scaricati dagli [Open Data ufficiali](https://github.com/italia/covid19-opendata-vaccini) sui vaccini in Italia. -I grafici sono automaticamente generati mediante il codice della [repository pubblica](https://github.com/MarcoBuster/quanto-manca) di [@MarcoBuster](https://github.com/MarcoBuster). +Fino alla [v1.0.0](#v1.0.0) i grafici sono automaticamente generati mediante il codice della [repository pubblica](https://github.com/MarcoBuster/quanto-manca) di [@MarcoBuster](https://github.com/MarcoBuster). Dalla [v2.0.0](#v2.0.0) sono invece utilizzati dei grafici differenti costruiti sulla base dei precedenti. diff --git a/assets/images/logo.png b/assets/images/logo.png index b758fd9eaccd44d3885ff9fbcf96b3120c45d851..5f8370e25b3a0d79ff981a94704113c8283c6396 100644 GIT binary patch literal 43980 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 IM6N<$f~3mUjQ{`u literal 41148 zcmV(hLHNFjP)ZgXgFbngSdJ^%m!CUiwubVG7w zVRUJ4ZXi@?ZDjy+VPYUMAZKN6ATlsAF)Sc4H##&hIx;hhmAF>`03ZNKL_t(|ob0{X zlO)-d-uFA#W68a;_Px5RyQ+7f0W>g;1~A}&6lTboF^NMNC8JEF-XznbUi5e9jUvq? znT@D1)0m8;&2TW}fIv5P^om|<-}l_Ja*2!xcfUsucX9W~tnTXSs;-R8_{yp(77t(V zJ@=gNY@({l00UH@fB=f3SioSA`~0a28*dv%nr!fq`gbCz7Mo~k+xt5H0DX_z<351_ zHY21YEhGvI6)zT??6~JoWdq@};d_mTa6i&wGmYD8>8As+v>h-IN&|cfq$CDP3Uw49 zf@V3o+JTiecDYTymZEE2$n3@ei?gZmi*il>4iIVZZ44BoQKse2B&3NZ~BQh2DM>m zK7Ekdv0a!WyQn?ApZZHjVWN)IYe=I8wFIb&#b8d#Kqzf#$beHCpcjfo)Qb^6|0BoK zwd7Mvq`$jN`zNQ#E>EFLZ6vd3X3294xkaoZIDuvqR0L6VQqBm}YiJ^n7^o$f(I$;6K-2!Ae08!08SsFL^#_{M)uKlI&WX1d+H{3Y8gAdgsygw z%mPlUu~dY7)Sljl*)xs|IHfI*flwM?11OqWsZZ#_xlwG-4| zK1S`xF2^|y^{fdvwm+L`pFLqT>Eyv89-#9Ch1iK}M_R zl&lXG5bL(dO(Dn>Cy<213nld$k^3F0B>N|5e)l9}|MWG?(Me>a;kc;*wj2gRX}cj> zKZ>d%VoHQENUr2_ZC3v8pVNKg6!!Ka)`D868HJFdFXdF#2{0AV#9)RS)DP}t_@8~7 z=66qE_KgwsEHzcn+(2ISEe1kq8^M`OMWl9!fQ(vAJ0-n3&+4E5lI;B}*y&~HS~t~= zVzuCo9^E-o*mPbf0aySdm`07-kx3eV@B+<$@B;Pc5BQBu{F%f(4J1=PVi2dajUZ^{ zT^ZWRNzYHy`uFe9{nc6L=Fi=BZnBGKite?CFOJ}y3p+0-wg{kBv7MCc;xsn1(9MuE zqxRJ!>-IAcNBxU|P})`~&3Mn%hya--zcxqbjWe|W=6&c|uwD>(vrbWr|8>l5d)PX5 zIcHASeN|GR4EdEgI^9!9H%CUB)SlQ~3b-tvEtg+uo?tnGBA&eiXctXzA~#Y@-N>kl$RS{o_-t{y)DVpI%0@y!hQfAoVQ< zn$k9cQyxm|kjsQ+?MENb{>dj~Gbzm}Z0I$j*U4>SGLq(sqSa?A

  • WdRd@jP-%HnT$KjngE%$1uCckm355 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 From d6a93dfd9141b94e46997f74d6097ad243e0770e Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 14:50:57 +0200 Subject: [PATCH 5/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 022eafa..7f61a57 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ Il bot è stato sviluppato da [@derogab](https://github.com/derogab) e il codice I dati mostrati sono scaricati dagli [Open Data ufficiali](https://github.com/italia/covid19-opendata-vaccini) sui vaccini in Italia. -Fino alla [v1.0.0](#v1.0.0) i grafici sono automaticamente generati mediante il codice della [repository pubblica](https://github.com/MarcoBuster/quanto-manca) di [@MarcoBuster](https://github.com/MarcoBuster). Dalla [v2.0.0](#v2.0.0) sono invece utilizzati dei grafici differenti costruiti sulla base dei precedenti. +Fino alla [v1.0.0](https://github.com/derogab/ITAvsCOVIDbot/releases/tag/v1.0.0) i grafici sono automaticamente generati mediante il codice della [repository pubblica](https://github.com/MarcoBuster/quanto-manca) di [@MarcoBuster](https://github.com/MarcoBuster). Dalla [v2.0.0](https://github.com/derogab/ITAvsCOVIDbot/releases/tag/v2.0.0) sono invece utilizzati dei grafici differenti costruiti sulla base dei precedenti. From 6ea9453626a5d8f749ab98ea8701765e83c63c73 Mon Sep 17 00:00:00 2001 From: Gabriele De Rosa Date: Fri, 21 May 2021 15:08:13 +0200 Subject: [PATCH 6/6] Minor improvements --- assets/templates/plot.html | 1 + bot.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/templates/plot.html b/assets/templates/plot.html index c6a4e76..7b321a5 100644 --- a/assets/templates/plot.html +++ b/assets/templates/plot.html @@ -48,6 +48,7 @@ Somministrazioni +
    diff --git a/bot.py b/bot.py index 0e323fc..c2e107c 100644 --- a/bot.py +++ b/bot.py @@ -101,9 +101,10 @@ def generate(df, target, template): vaccinesPerDayAverage = sum(lastWeekData[target]) / 7 remainingDays = (HIT - totalVaccines) / vaccinesPerDayAverage hitDate = df.index[-1] + td(days=remainingDays) + first_or_second = 'Seconda Dose' if target == 'seconda_dose' else 'Prima Dose' if target == 'prima_dose' else 'Totale' # Generate plot - plt.ylabel('Seconda Dose' if target == 'seconda_dose' else 'Prima Dose' if target == 'prima_dose' else 'Totale') + plt.ylabel(first_or_second) plt.xlabel("Ultima settimana") plt.grid(True) plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) @@ -130,6 +131,8 @@ def generate(df, target, template): for line in f.read().splitlines(): if "" in line: line = f"{totalVaccines}" + elif "" in line: + line = f"{first_or_second}" elif "" in line: line = f"{str(round(totalVaccines / ITALIAN_POPULATION * 100, 2)).replace('.', ',')}%" elif "" in line: