Update app.py
Browse files
app.py
CHANGED
@@ -14,6 +14,7 @@ import chardet
|
|
14 |
|
15 |
# Initialize the Dash app
|
16 |
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
|
|
|
17 |
|
18 |
# Get OpenAI API key from Hugging Face Spaces environment variable
|
19 |
openai.api_key = os.environ.get('OPENAI_API_KEY')
|
@@ -141,7 +142,7 @@ def update_output(list_of_contents, list_of_names, existing_files):
|
|
141 |
global uploaded_files
|
142 |
if list_of_contents is not None:
|
143 |
new_files = []
|
144 |
-
for
|
145 |
file_content = parse_file_content(content, name)
|
146 |
uploaded_files[name] = file_content
|
147 |
new_files.append(dbc.ListGroupItem([
|
@@ -149,10 +150,9 @@ def update_output(list_of_contents, list_of_names, existing_files):
|
|
149 |
color="danger", size="sm", className="me-2"),
|
150 |
html.Span(name)
|
151 |
]))
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
return dbc.ListGroup(existing_files) if existing_files else []
|
156 |
|
157 |
# Update the remove file callback
|
158 |
@app.callback(
|
@@ -168,9 +168,14 @@ def remove_file(n_clicks, existing_files):
|
|
168 |
raise PreventUpdate
|
169 |
|
170 |
triggered_id = ctx.triggered[0]['prop_id']
|
|
|
|
|
171 |
removed_file = triggered_id.split('"index":')[1].split('"')[1]
|
|
|
172 |
|
173 |
uploaded_files.pop(removed_file, None)
|
|
|
|
|
174 |
return [file for file in existing_files if file['props']['children'][1]['children'] != removed_file]
|
175 |
|
176 |
def generate_matrix_with_gpt(matrix_type, file_contents):
|
@@ -222,6 +227,7 @@ Now, generate the {matrix_type}:
|
|
222 |
prevent_initial_call=True
|
223 |
)
|
224 |
def generate_matrix(*args):
|
|
|
225 |
global current_matrix, matrix_type
|
226 |
ctx = dash.callback_context
|
227 |
if not ctx.triggered:
|
|
|
14 |
|
15 |
# Initialize the Dash app
|
16 |
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
|
17 |
+
uploaded_files = {}
|
18 |
|
19 |
# Get OpenAI API key from Hugging Face Spaces environment variable
|
20 |
openai.api_key = os.environ.get('OPENAI_API_KEY')
|
|
|
142 |
global uploaded_files
|
143 |
if list_of_contents is not None:
|
144 |
new_files = []
|
145 |
+
for content, name in zip(list_of_contents, list_of_names):
|
146 |
file_content = parse_file_content(content, name)
|
147 |
uploaded_files[name] = file_content
|
148 |
new_files.append(dbc.ListGroupItem([
|
|
|
150 |
color="danger", size="sm", className="me-2"),
|
151 |
html.Span(name)
|
152 |
]))
|
153 |
+
existing_files = existing_files or []
|
154 |
+
return existing_files + new_files
|
155 |
+
return existing_files or []
|
|
|
156 |
|
157 |
# Update the remove file callback
|
158 |
@app.callback(
|
|
|
168 |
raise PreventUpdate
|
169 |
|
170 |
triggered_id = ctx.triggered[0]['prop_id']
|
171 |
+
print(f"Triggered ID: {triggered_id}")
|
172 |
+
|
173 |
removed_file = triggered_id.split('"index":')[1].split('"')[1]
|
174 |
+
print(f"Attempting to remove file: {removed_file}")
|
175 |
|
176 |
uploaded_files.pop(removed_file, None)
|
177 |
+
print(f"Remaining files: {uploaded_files}")
|
178 |
+
|
179 |
return [file for file in existing_files if file['props']['children'][1]['children'] != removed_file]
|
180 |
|
181 |
def generate_matrix_with_gpt(matrix_type, file_contents):
|
|
|
227 |
prevent_initial_call=True
|
228 |
)
|
229 |
def generate_matrix(*args):
|
230 |
+
print(f"Current uploaded files: {uploaded_files}")
|
231 |
global current_matrix, matrix_type
|
232 |
ctx = dash.callback_context
|
233 |
if not ctx.triggered:
|