Compare commits

..

2 Commits

Author SHA1 Message Date
Felix Blanke
98a19a1ed8 Add caching 2023-08-27 11:39:54 +02:00
Felix Blanke
3c4bbdbef0 Refactor 2023-08-27 11:39:43 +02:00

33
wsgi.py
View File

@ -2,29 +2,48 @@ import datetime
import pandas as pd
from flask import Flask, render_template, request
from flask_caching import Cache
from download_digital import construct_dataframe, get_bez_data
config = {
"CACHE_TYPE": "SimpleCache", # Flask-Caching related configs
"CACHE_DEFAULT_TIMEOUT": 300,
}
app = Flask(__name__)
app.config.from_mapping(config)
cache = Cache(app)
@app.route("/")
def tables(
url: str = "https://beschaeftigtenbefragung.verdi.de/",
):
def get_tables(url: str) -> tuple[pd.DataFrame, pd.DataFrame]:
bez_data = get_bez_data(["bez_data_0", "bez_data_2"], url)
df = construct_dataframe(
bez_data=bez_data[0],
grouped=False,
special_tag="stud",
).sort_values(
["Digitale Befragung", "Bundesland", "Bezirk"], ascending=[False, True, True]
)
df_state = construct_dataframe(
bez_data=bez_data[1], grouped=False, no_processing=True
).sort_values("Landesbezirk")
)
return df, df_state
@app.route("/")
@cache.cached(timeout=50)
def tables(
url: str = "https://beschaeftigtenbefragung.verdi.de/",
):
df, df_state = get_tables(url)
df = df.sort_values(
["Digitale Befragung", "Bundesland", "Bezirk"], ascending=[False, True, True]
)
df_state = df_state.sort_values("Landesbezirk")
output_str = []