Update app.py
Browse files
app.py
CHANGED
@@ -4,6 +4,7 @@ import hashlib
|
|
4 |
import os
|
5 |
import zipfile
|
6 |
from git import Repo
|
|
|
7 |
|
8 |
|
9 |
# Database setup
|
@@ -107,11 +108,10 @@ def workspace_page():
|
|
107 |
os.makedirs(user_folder, exist_ok=True)
|
108 |
|
109 |
# Refresh project list dynamically
|
110 |
-
|
111 |
-
st.session_state.projects = [d for d in os.listdir(user_folder) if os.path.isdir(os.path.join(user_folder, d))]
|
112 |
|
113 |
# Display "Projects" dropdown
|
114 |
-
selected_project = st.sidebar.selectbox("Projects", ["Select a project"] +
|
115 |
|
116 |
if selected_project != "Select a project":
|
117 |
st.session_state.current_project = selected_project
|
@@ -157,8 +157,8 @@ def workspace_page():
|
|
157 |
st.success(f"File {uploaded_file.name} saved successfully!")
|
158 |
|
159 |
st.success(f"Project '{project_name}' uploaded successfully!")
|
160 |
-
#
|
161 |
-
|
162 |
|
163 |
elif action == "Clone GitHub Repository":
|
164 |
st.subheader("Clone GitHub Repository")
|
@@ -172,12 +172,11 @@ def workspace_page():
|
|
172 |
try:
|
173 |
Repo.clone_from(repo_url, project_folder)
|
174 |
st.success(f"Project '{project_name}' cloned successfully!")
|
175 |
-
#
|
176 |
-
|
177 |
except Exception as e:
|
178 |
st.error(f"Failed to clone repository: {e}")
|
179 |
|
180 |
-
|
181 |
def project_view_page():
|
182 |
# Sidebar with logout and return buttons
|
183 |
st.sidebar.title(f"Project: {st.session_state.current_project}")
|
|
|
4 |
import os
|
5 |
import zipfile
|
6 |
from git import Repo
|
7 |
+
from streamlit.runtime.scriptrunner import RerunException
|
8 |
|
9 |
|
10 |
# Database setup
|
|
|
108 |
os.makedirs(user_folder, exist_ok=True)
|
109 |
|
110 |
# Refresh project list dynamically
|
111 |
+
projects = [d for d in os.listdir(user_folder) if os.path.isdir(os.path.join(user_folder, d))]
|
|
|
112 |
|
113 |
# Display "Projects" dropdown
|
114 |
+
selected_project = st.sidebar.selectbox("Projects", ["Select a project"] + projects)
|
115 |
|
116 |
if selected_project != "Select a project":
|
117 |
st.session_state.current_project = selected_project
|
|
|
157 |
st.success(f"File {uploaded_file.name} saved successfully!")
|
158 |
|
159 |
st.success(f"Project '{project_name}' uploaded successfully!")
|
160 |
+
# Trigger a rerun to update the dropdown
|
161 |
+
raise RerunException
|
162 |
|
163 |
elif action == "Clone GitHub Repository":
|
164 |
st.subheader("Clone GitHub Repository")
|
|
|
172 |
try:
|
173 |
Repo.clone_from(repo_url, project_folder)
|
174 |
st.success(f"Project '{project_name}' cloned successfully!")
|
175 |
+
# Trigger a rerun to update the dropdown
|
176 |
+
raise RerunException
|
177 |
except Exception as e:
|
178 |
st.error(f"Failed to clone repository: {e}")
|
179 |
|
|
|
180 |
def project_view_page():
|
181 |
# Sidebar with logout and return buttons
|
182 |
st.sidebar.title(f"Project: {st.session_state.current_project}")
|