Compare commits
4 Commits
f4caa7a924
...
a1e212202d
Author | SHA1 | Date |
---|---|---|
Gabriele De Rosa | a1e212202d | |
Gabriele De Rosa | b3acda0edd | |
Gabriele De Rosa | cdc0f990b4 | |
Gabriele De Rosa | 39fc0be135 |
|
@ -9,7 +9,7 @@ RUN apk update --no-cache \
|
|||
&& apk add --no-cache \
|
||||
tzdata \
|
||||
python3 py3-pip py3-numpy py3-pandas py3-matplotlib \
|
||||
wkhtmltopdf \
|
||||
ttf-liberation qt5-qtwebkit wkhtmltopdf \
|
||||
# Set UTC as timezone
|
||||
&& ln -snf /usr/share/zoneinfo/Europe/Rome /etc/localtime \
|
||||
# Remove tmp files
|
||||
|
|
|
@ -33,33 +33,34 @@
|
|||
</head>
|
||||
<body>
|
||||
<div class="container mt-2 pt-2 px-xl-5" id="content">
|
||||
<h1>Quando torneremo alla normalità?</h1>
|
||||
<h1>🇮🇹 ITA vs. COVID-19 🦠</h1>
|
||||
<p>
|
||||
La domanda non ha una risposta precisa.
|
||||
Non è ancora chiaro
|
||||
quale sia la percentuale della popolazione che deve essere vaccinata per ottenere la cosidetta
|
||||
<b>immunità di gregge</b> o di massa dal virus SARS-Cov-2.
|
||||
Realisticamente, questo numero si aggira intorno all'<b>80% della popolazione</b>
|
||||
ovvero circa 48 milioni di persone.
|
||||
Questo bot è nato durante la pandemia di COVID-19 e, nelle sue prime 2 versioni, mostrava l'andamento della
|
||||
vaccinazione in Italia, calcolando una stima sul tempo mancante prima del raggiungimento della cosidetta
|
||||
<i>immunità di gregge</i> o di massa dal virus SARS-Cov-2.
|
||||
</p>
|
||||
<p>
|
||||
Con il passare del tempo, l'evoluzione della situazione pandemica e l'aumentare della popolazione vaccinata,
|
||||
il calcolo di questa stima non rappresenta più un dato utile.
|
||||
|
||||
Per questo il bot è stato aggiornato e nella versione corrente mostra l'<b>andamento della vaccinazione in Italia</b>
|
||||
in relazione a ciclo vaccinale primario e dosi booster aggiuntive.
|
||||
</p>
|
||||
<h3>Analisi dei dati della campagna vaccinale</h3>
|
||||
<p class="mb-2">
|
||||
La stima qui effettuata indica il tempo che mancherebbe al raggiungimento
|
||||
dell'immunità di gregge qualora si tenesse il ritmo degli ultimi 7 giorni. <br />
|
||||
Le informazioni e i grafici qui presenti sono stati raccolti a partire dalla repository ufficiale pubblica
|
||||
della pubblica amministrazione.
|
||||
<br />
|
||||
</p>
|
||||
<hr>
|
||||
<div class="text-center">
|
||||
Continuando di questo passo, raggiungeremo l'immunità di gregge il <br />
|
||||
Le persone che in Italia hanno completato almeno un ciclo vaccinale sono <br />
|
||||
<span class="text-bigger">
|
||||
<!-- hitDate -->
|
||||
<span class="d-none d-sm-inline">
|
||||
<!-- hitHour -->
|
||||
</span>
|
||||
<!-- totalVaccinations -->
|
||||
</span> <br />
|
||||
<span style="position: relative; top: -5px">ovvero fra</span> <br />
|
||||
<span style="position: relative; top: -5px">tra le quali quelle che hanno già effettuato la (terza) dose booster sono</span> <br />
|
||||
<span class="text-bigger" style="position: relative; top: -15px;">
|
||||
<!-- daysRemaining -->
|
||||
giorni.
|
||||
<!-- totalVaccinationsBooster -->
|
||||
</span>
|
||||
</div>
|
||||
<hr>
|
||||
|
@ -70,6 +71,13 @@
|
|||
Dal 21 maggio 2021 sono mostrati due differenti grafici per differenziare
|
||||
le prime e le seconde dosi.
|
||||
</p>
|
||||
<p class="pt-2 notes">
|
||||
Da novembre 2021 i due grafici mostrano rispettivamente i dati del primo ciclo vaccinale e della dose booster.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Use twemoji -->
|
||||
<script src="https://twemoji.maxcdn.com/v/latest/twemoji.min.js" crossorigin="anonymous"></script>
|
||||
<script>twemoji.parse(document.body);</script>
|
||||
</body>
|
||||
</html>
|
3
bot.py
3
bot.py
|
@ -67,6 +67,7 @@ def generate(df, target, template):
|
|||
|
||||
# Get data from df
|
||||
totalVaccines = sum(df[target])
|
||||
totalVaccinesBooster = totalVaccines
|
||||
lastWeekData = df.loc[df.index > df.index[-1] - td(days=7)]
|
||||
vaccinesPerDayAverage = sum(lastWeekData[target]) / 7
|
||||
remainingDays = (HIT - totalVaccines) / vaccinesPerDayAverage
|
||||
|
@ -101,6 +102,8 @@ def generate(df, target, template):
|
|||
for line in f.read().splitlines():
|
||||
if "<!-- totalVaccinations -->" in line:
|
||||
line = f"{totalVaccines}"
|
||||
elif "<!-- totalVaccinationsBooster -->" in line:
|
||||
line = f"{totalVaccinesBooster}"
|
||||
elif "<!-- typeVaccinations -->" in line:
|
||||
line = f"{first_or_second}"
|
||||
elif "<!-- totalVaccinationsPerc -->" in line:
|
||||
|
|
Loading…
Reference in New Issue