pagezyhf HF Staff commited on
Commit
bfb9a2f
·
1 Parent(s): 0ff5466

data refresh

Browse files
Files changed (1) hide show
  1. app.py +32 -4
app.py CHANGED
@@ -59,6 +59,16 @@ def load_trending_models_data():
59
  'is_supported_task', 'is_securely_scanned', 'collected_at', 'model_status'
60
  ])
61
 
 
 
 
 
 
 
 
 
 
 
62
  def get_status_emoji(value):
63
  """Convert boolean values to emoji indicators"""
64
  if pd.isna(value):
@@ -182,9 +192,12 @@ def create_display_dataframe(df, selected_date):
182
 
183
  return display_df
184
 
185
- def update_dashboard(selected_date):
186
  """Update the dashboard based on user selections"""
187
- df = load_trending_models_data()
 
 
 
188
  display_df = create_display_dataframe(df, selected_date)
189
  return display_df
190
 
@@ -202,6 +215,20 @@ def get_available_dates():
202
 
203
  return valid_dates, valid_dates[-1], valid_dates[0] # all_dates, min_date, max_date
204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  # Create the Gradio interface
206
  def create_interface():
207
  # Custom CSS for enhanced styling
@@ -277,7 +304,8 @@ def create_interface():
277
 
278
  def refresh_data(selected_date_text):
279
  """Refresh data and update dashboard"""
280
- available_dates, _, max_date = get_available_dates()
 
281
 
282
  selected_date = max_date
283
  if selected_date_text:
@@ -287,7 +315,7 @@ def create_interface():
287
  print(f"Date conversion error in refresh: {e}, value: {selected_date_text}")
288
  selected_date = max_date
289
 
290
- display_df = update_dashboard(selected_date)
291
  return (
292
  str(max_date) if max_date else "",
293
  display_df
 
59
  'is_supported_task', 'is_securely_scanned', 'collected_at', 'model_status'
60
  ])
61
 
62
+ def clear_data_cache():
63
+ """Clear the cached dataset to force a reload"""
64
+ load_trending_models_data.cache_clear()
65
+ print("Dataset cache cleared!")
66
+
67
+ def load_trending_models_data_fresh():
68
+ """Load fresh data by clearing cache first"""
69
+ clear_data_cache()
70
+ return load_trending_models_data()
71
+
72
  def get_status_emoji(value):
73
  """Convert boolean values to emoji indicators"""
74
  if pd.isna(value):
 
192
 
193
  return display_df
194
 
195
+ def update_dashboard(selected_date, use_fresh_data=False):
196
  """Update the dashboard based on user selections"""
197
+ if use_fresh_data:
198
+ df = load_trending_models_data_fresh()
199
+ else:
200
+ df = load_trending_models_data()
201
  display_df = create_display_dataframe(df, selected_date)
202
  return display_df
203
 
 
215
 
216
  return valid_dates, valid_dates[-1], valid_dates[0] # all_dates, min_date, max_date
217
 
218
+ def get_available_dates_fresh():
219
+ """Get list of available dates from fresh dataset (clears cache first)"""
220
+ df = load_trending_models_data_fresh()
221
+ if df.empty or 'collected_at' not in df.columns:
222
+ return [], None, None
223
+
224
+ dates = df['collected_at'].dt.date.unique()
225
+ valid_dates = sorted([d for d in dates if pd.notna(d)], reverse=True)
226
+
227
+ if not valid_dates:
228
+ return [], None, None
229
+
230
+ return valid_dates, valid_dates[-1], valid_dates[0] # all_dates, min_date, max_date
231
+
232
  # Create the Gradio interface
233
  def create_interface():
234
  # Custom CSS for enhanced styling
 
304
 
305
  def refresh_data(selected_date_text):
306
  """Refresh data and update dashboard"""
307
+ print("Refreshing data - clearing cache and reloading dataset...")
308
+ available_dates, _, max_date = get_available_dates_fresh()
309
 
310
  selected_date = max_date
311
  if selected_date_text:
 
315
  print(f"Date conversion error in refresh: {e}, value: {selected_date_text}")
316
  selected_date = max_date
317
 
318
+ display_df = update_dashboard(selected_date, use_fresh_data=True)
319
  return (
320
  str(max_date) if max_date else "",
321
  display_df