MarcosRodrigo commited on
Commit
472305f
·
verified ·
1 Parent(s): a7c6e8d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -12
app.py CHANGED
@@ -2,6 +2,24 @@ import streamlit as st
2
  import pandas as pd
3
  from datetime import datetime
4
  import os
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
  # Initialize session state for temporary and historical storage
7
  if "users" not in st.session_state:
@@ -9,29 +27,28 @@ if "users" not in st.session_state:
9
  if "current_selections" not in st.session_state:
10
  st.session_state.current_selections = []
11
 
12
- # Directory to store history
13
- history_dir = "history"
14
- if not os.path.exists(history_dir):
15
- os.makedirs(history_dir)
16
-
17
- # Load history from existing text files
18
  def load_history():
19
  history = []
 
 
 
20
  for filename in os.listdir(history_dir):
21
  if filename.endswith(".txt"):
22
  date = filename.split(".txt")[0]
23
  filepath = os.path.join(history_dir, filename)
24
- with open(filepath, "r") as file:
25
- content = file.read()
26
- summary_df = pd.read_csv(filepath)
27
- history.append({"Date": date, "Summary": summary_df})
28
  return history
29
 
30
- # Save current summary to a text file
31
  def save_summary_to_file(summary_df):
32
  timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
 
 
33
  filepath = os.path.join(history_dir, f"{timestamp}.txt")
34
  summary_df.to_csv(filepath, index=False)
 
35
 
36
  # Load history into session state
37
  if "history" not in st.session_state:
@@ -93,7 +110,7 @@ if menu == "Poll":
93
  st.table(df)
94
 
95
  if st.button("Submit Summary", key="submit_summary"): # Unique key for the button
96
- # Save the current summary to a text file in the history directory
97
  save_summary_to_file(df)
98
 
99
  # Add to session state history
 
2
  import pandas as pd
3
  from datetime import datetime
4
  import os
5
+ from huggingface_hub import HfApi, Repository
6
+
7
+ # Configuration for Hugging Face Repository
8
+ REPO_ID = "your-huggingface-username/your-repo-name" # Replace with your repository ID
9
+ LOCAL_DIR = "repo" # Local directory to sync with the repo
10
+ history_dir = os.path.join(LOCAL_DIR, "history")
11
+
12
+ # Hugging Face Authentication (requires a token with write access)
13
+ hf_token = st.secrets["HF_TOKEN"] # Store your token in Streamlit secrets
14
+
15
+ # Initialize the Hugging Face repository
16
+ repo = Repository(local_dir=LOCAL_DIR, clone_from=REPO_ID, use_auth_token=hf_token)
17
+
18
+ # Function to commit changes to the Hugging Face repository
19
+ def commit_changes(message="Updating history"):
20
+ repo.git_add(pattern="history/*")
21
+ repo.git_commit(message=message)
22
+ repo.git_push()
23
 
24
  # Initialize session state for temporary and historical storage
25
  if "users" not in st.session_state:
 
27
  if "current_selections" not in st.session_state:
28
  st.session_state.current_selections = []
29
 
30
+ # Load history from existing text files in the repository
 
 
 
 
 
31
  def load_history():
32
  history = []
33
+ repo.git_pull() # Pull the latest changes from the repo
34
+ if not os.path.exists(history_dir):
35
+ os.makedirs(history_dir)
36
  for filename in os.listdir(history_dir):
37
  if filename.endswith(".txt"):
38
  date = filename.split(".txt")[0]
39
  filepath = os.path.join(history_dir, filename)
40
+ summary_df = pd.read_csv(filepath)
41
+ history.append({"Date": date, "Summary": summary_df})
 
 
42
  return history
43
 
44
+ # Save current summary to a text file in the repository
45
  def save_summary_to_file(summary_df):
46
  timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
47
+ if not os.path.exists(history_dir):
48
+ os.makedirs(history_dir)
49
  filepath = os.path.join(history_dir, f"{timestamp}.txt")
50
  summary_df.to_csv(filepath, index=False)
51
+ commit_changes(message=f"Added summary for {timestamp}")
52
 
53
  # Load history into session state
54
  if "history" not in st.session_state:
 
110
  st.table(df)
111
 
112
  if st.button("Submit Summary", key="submit_summary"): # Unique key for the button
113
+ # Save the current summary to a text file in the repository
114
  save_summary_to_file(df)
115
 
116
  # Add to session state history