Spaces:
Running
Running
Update mtdna_backend.py
Browse files- 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:
|
699 |
existing_data = sheet.get_all_values()
|
700 |
-
|
|
|
|
|
|
|
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
|
708 |
-
df_combined = pd.concat([df_old, df_new])
|
709 |
-
df_combined = df_combined.groupby("email", as_index=False).sum(
|
710 |
|
711 |
-
# Step 4: Write
|
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 |
|