Exemplo n.º 1
0
def tested(context):
    data = c19api.metadata("tested")
    total = data.get("total")

    last_data = file_open("tested")
    tested_diff = total - int(last_data)

    if tested_diff > 0:
        messagetext = get_messagetext("tested", tested_diff)
        ret_str = f"🔬 <b>{tested_diff:,}</b> {messagetext}"

        if datetime.now().hour in range(0, 2):
            newYesterday = data.get("newYesterday")
            ret_str += (
                f"\nTotalt: <b>{total:,}</b> (Nye siste døgn: <b>{newYesterday:,}</b>)"
            )
        else:
            newToday = data.get("newToday")
            ret_str += f"\nTotalt: <b>{total:,}</b> (Nye i dag: <b>{newToday:,}</b>)"

        file_write("tested", total)

        ret_str = ret_str.replace(",", " ")
        print(ret_str, "\n")

        context.bot.send_message(chat_id=bot["autopost"]["chatid"],
                                 text=ret_str,
                                 parse_mode=ParseMode.HTML)
    else:
        return None
Exemplo n.º 2
0
def check_files_exist():
    filenames = ["tested", "confirmed", "dead", "admissions", "respiratory"]

    for filename in filenames:
        if os.path.isfile(f"./data/{filename}.txt"):
            pass
        else:
            print(
                f"datafile for {filename} missing. Creating file with latest data."
            )
            currentData = c19api.metadata(filename, "total")

            file_write(filename, currentData)
Exemplo n.º 3
0
def stats(update, context):
    today = date.today().strftime("%d.%m.%Y")

    # metadata
    population = 5391369
    tested = c19api.metadata("tested")
    confirmed = c19api.metadata("confirmed")
    dead = c19api.metadata("dead")
    admissions = c19api.metadata("admissions")
    respiratory = c19api.metadata("respiratory")
    vaccine_doses = c19api.timeseries("vaccine_doses")

    # totals
    tested_total = tested.get("total")
    confirmed_total = confirmed.get("total")
    dead_total = dead.get("total")
    admissions_total = admissions.get("total")
    respiratory_total = respiratory.get("total")

    # newToday
    tested_newToday = tested.get("newToday", 0)
    confirmed_newToday = confirmed.get("newToday", 0)
    dead_newToday = dead.get("newToday", 0)

    # newSince
    confirmed_newSince_d7 = confirmed.get("newSince_d7", 0)
    confirmed_newSince_d14 = confirmed.get("newSince_d14", 0)

    # percentages
    dead_pct = round(dead_total / confirmed_total * 100, 1)
    respiratory_pct = round(respiratory_total / admissions_total * 100, 1)

    # vaccine data
    vaccine_data = list(
        filter(lambda x: x["granularity_geo"] == "nation", vaccine_doses)
    )[-1]
    vacc_total_dose_1 = vaccine_data.get("total_dose_1")
    vacc_total_dose_2 = vaccine_data.get("total_dose_2")
    vacc_total_dose_1_pct = vacc_total_dose_1 / population
    vacc_total_dose_2_pct = vacc_total_dose_2 / population

    ret_str = f"🔢 <b>Nøkkeltall - {today}</b>"

    ret_str += f"\n\n🦠 Smittetilfeller i dag: <b>{confirmed_newToday:,}</b>"
    ret_str += f"\nSiste 7d: <b>{confirmed_newSince_d7:,}</b>"
    ret_str += f"\nSiste 14d: <b>{confirmed_newSince_d14:,}</b>"
    ret_str += f"\nTotalt: <b>{confirmed_total:,}</b>"

    ret_str += f"\n\n❗ Dødsfall i dag: <b>{dead_newToday:,}</b>"
    ret_str += f"\nTotalt: <b>{dead_total:,}</b> ({dead_pct}% av smittede)"

    ret_str += f"\n\n🔬 Testede i dag: <b>{tested_newToday:,}</b>"
    ret_str += f"\nTotalt: <b>{tested_total:,}</b>"

    ret_str += f"\n\n🏥 Innlagt på sykehus: <b>{admissions_total:,}</b>"
    ret_str += f"\n😷 Tilkoblet respirator: <b>{respiratory_total:,}</b> ({respiratory_pct}% av innlagte)"

    ret_str += "\n\n💉 Andel av befolkningen vaksinert"
    ret_str += f"\n<b>{vacc_total_dose_1_pct:,.02%}</b> har fått minst én dose (<b>{vacc_total_dose_1:,}</b> personer)"
    ret_str += f"\n<b>{vacc_total_dose_2_pct:,.02%}</b> er fullvaksinert (<b>{vacc_total_dose_2:,}</b> personer)"

    ret_str = ret_str.replace(",", " ")

    context.bot.send_message(
        chat_id=update.message.chat_id, text=ret_str, parse_mode=ParseMode.HTML
    )