Spaces:
Sleeping
Sleeping
from dash.dependencies import Input, Output, State | |
import dash | |
import pandas as pd | |
from utils_fcts import * | |
def register_callbacks(app): | |
def toggle_upload_visibility(default_data_checkbox, upload_contents, | |
stored_timeDB_data, | |
filename, defaut_timeDB_data, defaut_dayDB_data, | |
stored_dayDB_data): | |
current_time_df = pd.DataFrame(stored_timeDB_data) | |
current_day_df = pd.DataFrame(stored_dayDB_data) | |
if 'default' in default_data_checkbox : | |
# si je veux Utiliser les données par défaut | |
# -> je cache l'upload de fichier et je store les données défaut | |
txt = get_db_text(time_dt=pd.DataFrame(defaut_timeDB_data), | |
day_dt=pd.DataFrame(defaut_dayDB_data)) | |
outtxt = dcc.Markdown(txt, dangerously_allow_html=True) | |
return ({'display': 'none'}, | |
pd.DataFrame(defaut_timeDB_data).to_dict(), | |
pd.DataFrame(defaut_dayDB_data).to_dict(),outtxt) | |
## si j arrive à ce stade c'est que je n'ai pas coché la checkbox | |
# si j arrive ici c'est que je n'ai pas cohcé la checkbox et que je n'ai pas chargé de contenu | |
# Afficher le bouton d'upload si "données par défaut" est décoché | |
if not upload_contents: | |
txt = get_db_text(time_dt=current_time_df, | |
day_dt=current_day_df) | |
outtxt = dcc.Markdown(txt, dangerously_allow_html=True) | |
# print("JE SUIS ARRIVEE ICI") | |
return {'display': 'block'}, stored_timeDB_data, stored_dayDB_data, outtxt | |
else: | |
new_data = [parse_table(c, n) for c, n in zip(upload_contents, filename)] | |
time_df_uploaded = pd.concat([x['time_data'] for x in new_data], | |
ignore_index=True) | |
time_df_uploaded[db_timecol] = pd.to_datetime(time_df_uploaded[db_timecol]) | |
time_df_uploaded[db_daycol] = time_df_uploaded[db_timecol].dt.date | |
# ne sert à rien car stored en dict ! | |
# time_df_uploaded = time_df_uploaded.sort_values(by=db_timecol) | |
#time_df_uploaded.to_pickle('time_df_uploaded.pkl') | |
# print("données time loadées : " + str(time_df_uploaded.shape[0])) | |
day_df_uploaded = pd.concat([x['dayI_data'] for x in new_data], | |
ignore_index=True) | |
day_df_uploaded[db_daycol] = pd.to_datetime(day_df_uploaded[db_daycol]) | |
#day_df_uploaded = day_df_uploaded.sort_values(by=db_daycol) | |
# print("données day loadées : " + str(day_df_uploaded.shape[0])) | |
txt = get_db_text(time_dt=time_df_uploaded, | |
day_dt=day_df_uploaded) | |
newtxt = dcc.Markdown(txt, dangerously_allow_html=True) | |
return ({'display': 'block'}, time_df_uploaded.to_dict(), | |
day_df_uploaded.to_dict(), newtxt) | |