Update all
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
import streamlit as st
|
||||
import sqlite3
|
||||
import pandas as pd
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
def fetch_data_from_db(db_path, table_name):
|
||||
def fetch_data_from_db(db_path, table_name, start_date=None, end_date=None):
|
||||
conn = sqlite3.connect(db_path)
|
||||
query = f"SELECT * FROM {table_name}"
|
||||
if table_name == "sync_results" and start_date and end_date:
|
||||
query = f"SELECT * FROM {table_name} WHERE date BETWEEN '{start_date}' AND '{end_date}'"
|
||||
else:
|
||||
query = f"SELECT * FROM {table_name}"
|
||||
df = pd.read_sql_query(query, conn)
|
||||
conn.close()
|
||||
return df
|
||||
@@ -25,6 +29,9 @@ def delete_user_from_db(db_path, email):
|
||||
cursor.execute('''
|
||||
DELETE FROM users WHERE email = ?
|
||||
''', (email,))
|
||||
cursor.execute('''
|
||||
DELETE FROM sync_results WHERE email = ?
|
||||
''', (email,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -82,6 +89,11 @@ def main():
|
||||
emails.insert(0, "All")
|
||||
selected_email = st.selectbox("Filter by Email:", options=emails)
|
||||
|
||||
# Add date range picker for filtering results by date
|
||||
st.subheader("Filter by Date Range:")
|
||||
start_date = st.date_input("Start Date", value=datetime.now().date())
|
||||
end_date = st.date_input("End Date + 1 Tag", value=start_date + timedelta(days=1))
|
||||
|
||||
if selected_email == "All":
|
||||
filtered_users_df = users_df
|
||||
else:
|
||||
@@ -91,16 +103,21 @@ def main():
|
||||
|
||||
# Display email transfer results if available
|
||||
if not results_df.empty:
|
||||
# Filter by email and date
|
||||
if selected_email == "All":
|
||||
st.write("Email Transfer Results:")
|
||||
st.dataframe(results_df)
|
||||
filtered_results_df = fetch_data_from_db(db_path, "sync_results", start_date=start_date, end_date=end_date)
|
||||
else:
|
||||
filtered_results_df = results_df[results_df['email'] == selected_email]
|
||||
if not filtered_results_df.empty:
|
||||
st.write(f"Email Transfer Results for {selected_email}:")
|
||||
st.dataframe(filtered_results_df)
|
||||
else:
|
||||
st.write(f"No transfer data found for {selected_email}.")
|
||||
filtered_results_df = fetch_data_from_db(db_path, "sync_results", start_date=start_date, end_date=end_date)
|
||||
filtered_results_df = filtered_results_df[filtered_results_df['email'] == selected_email]
|
||||
|
||||
if not filtered_results_df.empty:
|
||||
# Replace 'auth_failed' values with icons
|
||||
filtered_results_df['auth_failed'] = filtered_results_df['auth_failed'].apply(lambda x: '✅' if x == 0 else '❌')
|
||||
|
||||
st.write(f"Email Transfer Results for {selected_email}:")
|
||||
st.dataframe(filtered_results_df)
|
||||
else:
|
||||
st.write(f"No transfer data found for {selected_email} in the selected date range.")
|
||||
else:
|
||||
st.write("No email transfer results available.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user