mzufferey commited on
Commit
3a4d232
·
1 Parent(s): 378845d
Files changed (2) hide show
  1. callbacks/tab_accueil_callbacks.py +14 -28
  2. utils_fcts.py +14 -3
callbacks/tab_accueil_callbacks.py CHANGED
@@ -3,23 +3,6 @@ import dash
3
  import pandas as pd
4
  from utils_fcts import *
5
  def register_callbacks(app):
6
-
7
- # @app.callback(
8
- # [Output('upload-stored-container', 'style')
9
- # # Output('stored_timeDB', 'data'),
10
- # # Output('stored_dayDB', 'data')
11
- # ],
12
- # [Input('default-data-checkbox', 'value')]
13
- # )
14
- # def toggle_upload_visibility(default_data_checkbox):
15
- # print(default_data_checkbox)
16
- # if 'default' in default_data_checkbox :
17
- # # Utiliser les données par défaut
18
- # # et cacher le bouton
19
- # return {'display': 'none'}
20
- # else:
21
- # return {'display': 'block'}
22
-
23
  @app.callback(
24
  [Output('upload-stored-container', 'style'),
25
  Output('stored_timeDB', 'data'),
@@ -41,15 +24,14 @@ def register_callbacks(app):
41
  stored_dayDB_data):
42
  current_time_df = pd.DataFrame(stored_timeDB_data)
43
  current_day_df = pd.DataFrame(stored_dayDB_data)
44
- print(type(current_time_df[db_timecol][0]))
45
- print(type(current_day_df[db_daycol][0]))
46
- txt = "current time DB : " + str(current_time_df.shape[0]) + " x " + str(current_time_df.shape[1]) + "\n"
47
- txt += "current day DB : " + str(current_day_df.shape[0]) + " x " + str(current_day_df.shape[1])
48
- outtxt = dcc.Markdown(txt,dangerously_allow_html=True)
49
- print(default_data_checkbox)
50
  if 'default' in default_data_checkbox :
51
  # si je veux Utiliser les données par défaut
52
  # -> je cache l'upload de fichier et je store les données défaut
 
 
 
 
53
  return ({'display': 'none'},
54
  pd.DataFrame(defaut_timeDB_data).to_dict(),
55
  pd.DataFrame(defaut_dayDB_data).to_dict(),outtxt)
@@ -58,7 +40,10 @@ def register_callbacks(app):
58
  # si j arrive ici c'est que je n'ai pas cohcé la checkbox et que je n'ai pas chargé de contenu
59
  # Afficher le bouton d'upload si "données par défaut" est décoché
60
  if not upload_contents:
61
- print("JE SUIS ARRIVEE ICI")
 
 
 
62
  return {'display': 'block'}, stored_timeDB_data, stored_dayDB_data, outtxt
63
  else:
64
  new_data = [parse_table(c, n) for c, n in zip(upload_contents, filename)]
@@ -71,15 +56,16 @@ def register_callbacks(app):
71
  # time_df_uploaded = time_df_uploaded.sort_values(by=db_timecol)
72
  #time_df_uploaded.to_pickle('time_df_uploaded.pkl')
73
 
74
- print("données time loadées : " + str(time_df_uploaded.shape[0]))
75
  day_df_uploaded = pd.concat([x['dayI_data'] for x in new_data],
76
  ignore_index=True)
77
  day_df_uploaded[db_daycol] = pd.to_datetime(day_df_uploaded[db_daycol])
78
  #day_df_uploaded = day_df_uploaded.sort_values(by=db_daycol)
79
 
80
- print("données day loadées : " + str(day_df_uploaded.shape[0]))
81
- txt = "current time DB : " + str(time_df_uploaded.shape[0]) + " x " + str(time_df_uploaded.shape[1]) + "\n"
82
- txt += "current day DB : " + str(day_df_uploaded.shape[0]) + " x " + str(day_df_uploaded.shape[1])
 
83
  newtxt = dcc.Markdown(txt, dangerously_allow_html=True)
84
 
85
  return ({'display': 'block'}, time_df_uploaded.to_dict(),
 
3
  import pandas as pd
4
  from utils_fcts import *
5
  def register_callbacks(app):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  @app.callback(
7
  [Output('upload-stored-container', 'style'),
8
  Output('stored_timeDB', 'data'),
 
24
  stored_dayDB_data):
25
  current_time_df = pd.DataFrame(stored_timeDB_data)
26
  current_day_df = pd.DataFrame(stored_dayDB_data)
27
+
 
 
 
 
 
28
  if 'default' in default_data_checkbox :
29
  # si je veux Utiliser les données par défaut
30
  # -> je cache l'upload de fichier et je store les données défaut
31
+ txt = get_db_text(time_dt=pd.DataFrame(defaut_timeDB_data),
32
+ day_dt=pd.DataFrame(defaut_dayDB_data))
33
+ outtxt = dcc.Markdown(txt, dangerously_allow_html=True)
34
+
35
  return ({'display': 'none'},
36
  pd.DataFrame(defaut_timeDB_data).to_dict(),
37
  pd.DataFrame(defaut_dayDB_data).to_dict(),outtxt)
 
40
  # si j arrive ici c'est que je n'ai pas cohcé la checkbox et que je n'ai pas chargé de contenu
41
  # Afficher le bouton d'upload si "données par défaut" est décoché
42
  if not upload_contents:
43
+ txt = get_db_text(time_dt=current_time_df,
44
+ day_dt=current_day_df)
45
+ outtxt = dcc.Markdown(txt, dangerously_allow_html=True)
46
+ # print("JE SUIS ARRIVEE ICI")
47
  return {'display': 'block'}, stored_timeDB_data, stored_dayDB_data, outtxt
48
  else:
49
  new_data = [parse_table(c, n) for c, n in zip(upload_contents, filename)]
 
56
  # time_df_uploaded = time_df_uploaded.sort_values(by=db_timecol)
57
  #time_df_uploaded.to_pickle('time_df_uploaded.pkl')
58
 
59
+ # print("données time loadées : " + str(time_df_uploaded.shape[0]))
60
  day_df_uploaded = pd.concat([x['dayI_data'] for x in new_data],
61
  ignore_index=True)
62
  day_df_uploaded[db_daycol] = pd.to_datetime(day_df_uploaded[db_daycol])
63
  #day_df_uploaded = day_df_uploaded.sort_values(by=db_daycol)
64
 
65
+ # print("données day loadées : " + str(day_df_uploaded.shape[0]))
66
+ txt = get_db_text(time_dt=time_df_uploaded,
67
+ day_dt=day_df_uploaded)
68
+
69
  newtxt = dcc.Markdown(txt, dangerously_allow_html=True)
70
 
71
  return ({'display': 'block'}, time_df_uploaded.to_dict(),
utils_fcts.py CHANGED
@@ -191,9 +191,20 @@ def get_db_dropdown(id) :
191
  )
192
 
193
 
194
-
195
-
196
-
 
 
 
 
 
 
 
 
 
 
 
197
 
198
  def update_layout_cols(selcols):
199
  if len(selcols) > 0:
 
191
  )
192
 
193
 
194
+ def get_db_text(time_dt, day_dt):
195
+ time_dt[db_timecol] = pd.to_datetime(time_dt[db_timecol])
196
+ day_dt[db_daycol] = pd.to_datetime(day_dt[db_daycol])
197
+
198
+ text = ("données minutes : " + str(time_dt.shape[0]) + " x " +
199
+ str(time_dt.shape[1]) + " ; du " +
200
+ min(time_dt[db_timecol]).strftime('%Y-%m-%d %H:%M:%S') + " au " +
201
+ max(time_dt[db_timecol]).strftime('%Y-%m-%d %H:%M:%S') + "\n")
202
+
203
+ text += (" \n données jours : " + str(day_dt.shape[0]) + " x " +
204
+ str(day_dt.shape[1]) + " ; du " +
205
+ min(day_dt[db_daycol]).strftime('%Y-%m-%d') + " au " +
206
+ max(day_dt[db_daycol]).strftime('%Y-%m-%d'))
207
+ return text
208
 
209
  def update_layout_cols(selcols):
210
  if len(selcols) > 0: