VyLala commited on
Commit
6a10b79
·
verified ·
1 Parent(s): ac50740

Update mtdna_backend.py

Browse files
Files changed (1) hide show
  1. mtdna_backend.py +18 -8
mtdna_backend.py CHANGED
@@ -695,24 +695,34 @@ def save_user_usage(usage_dict):
695
  df_new = pd.DataFrame(list(usage_dict.items()), columns=["email", "usage_count"])
696
  df_new["email"] = df_new["email"].str.strip().str.lower()
697
 
698
- # Step 2: Try to read old data
699
  existing_data = sheet.get_all_values()
700
- if existing_data and len(existing_data) >= 2:
 
 
 
701
  df_old = pd.DataFrame(existing_data[1:], columns=existing_data[0])
 
 
 
 
 
 
 
702
  df_old["email"] = df_old["email"].str.strip().str.lower()
703
  df_old["usage_count"] = pd.to_numeric(df_old["usage_count"], errors="coerce").fillna(0).astype(int)
704
  else:
705
  df_old = pd.DataFrame(columns=["email", "usage_count"])
706
 
707
- # Step 3: Merge new and old usage
708
- df_combined = pd.concat([df_old, df_new])
709
- df_combined = df_combined.groupby("email", as_index=False).sum(numeric_only=True)
710
 
711
- # Step 4: Write to sheet
712
  sheet.clear()
713
- sheet.update([df_combined.columns.tolist()] + df_combined.values.tolist())
714
-
715
  print("✅ Saved user usage to user_usage_log sheet.")
 
716
  except Exception as e:
717
  print(f"❌ Failed to save user usage to Google Sheets: {e}")
718
 
 
695
  df_new = pd.DataFrame(list(usage_dict.items()), columns=["email", "usage_count"])
696
  df_new["email"] = df_new["email"].str.strip().str.lower()
697
 
698
+ # Step 2: Load existing data
699
  existing_data = sheet.get_all_values()
700
+ print("🧪 Sheet existing_data:", existing_data)
701
+
702
+ # Try to load old data
703
+ if existing_data and len(existing_data[0]) >= 1:
704
  df_old = pd.DataFrame(existing_data[1:], columns=existing_data[0])
705
+
706
+ # Fix missing columns
707
+ if "email" not in df_old.columns:
708
+ df_old["email"] = ""
709
+ if "usage_count" not in df_old.columns:
710
+ df_old["usage_count"] = 0
711
+
712
  df_old["email"] = df_old["email"].str.strip().str.lower()
713
  df_old["usage_count"] = pd.to_numeric(df_old["usage_count"], errors="coerce").fillna(0).astype(int)
714
  else:
715
  df_old = pd.DataFrame(columns=["email", "usage_count"])
716
 
717
+ # Step 3: Merge
718
+ df_combined = pd.concat([df_old, df_new], ignore_index=True)
719
+ df_combined = df_combined.groupby("email", as_index=False).sum()
720
 
721
+ # Step 4: Write back
722
  sheet.clear()
723
+ sheet.update([df_combined.columns.tolist()] + df_combined.astype(str).values.tolist())
 
724
  print("✅ Saved user usage to user_usage_log sheet.")
725
+
726
  except Exception as e:
727
  print(f"❌ Failed to save user usage to Google Sheets: {e}")
728