Update app.py via AI Editor
Browse files
app.py
CHANGED
|
@@ -50,8 +50,8 @@ def get_or_create_session_data(session_id):
|
|
| 50 |
'uploaded_file': None,
|
| 51 |
'uploaded_filename': None,
|
| 52 |
'lock': threading.Lock(),
|
| 53 |
-
'slide_markdowns': [],
|
| 54 |
-
'slide_markdown_names': [],
|
| 55 |
'current_slide_md': "",
|
| 56 |
}
|
| 57 |
return SESSION_DATA[session_id]
|
|
@@ -81,6 +81,8 @@ app.layout = html.Div([
|
|
| 81 |
'''),
|
| 82 |
html.A(id='uploaded-file-download-link', href="", style={'display': 'none'}),
|
| 83 |
html.A(id='pptx-download-link', href="", style={'display': 'none'}),
|
|
|
|
|
|
|
| 84 |
dbc.Container([
|
| 85 |
dbc.Row([
|
| 86 |
dbc.Col([
|
|
@@ -326,7 +328,6 @@ def unified_callback(upload_contents, gen_btn, gen_ppt_btn, selected_slide_idx,
|
|
| 326 |
)
|
| 327 |
log_str = '\n'.join(session['log_messages'][:100])
|
| 328 |
|
| 329 |
-
# Build slide markdown dropdown
|
| 330 |
dropdown_options = [
|
| 331 |
{'label': slide_name, 'value': idx}
|
| 332 |
for idx, slide_name in enumerate(slide_list)
|
|
@@ -343,7 +344,6 @@ def unified_callback(upload_contents, gen_btn, gen_ppt_btn, selected_slide_idx,
|
|
| 343 |
)
|
| 344 |
]) if slide_list else html.Div("No slides generated yet.", className="text-muted")
|
| 345 |
|
| 346 |
-
# Handle triggers
|
| 347 |
if button_id == 'upload-file':
|
| 348 |
if upload_contents and upload_filename:
|
| 349 |
try:
|
|
@@ -397,7 +397,6 @@ def unified_callback(upload_contents, gen_btn, gen_ppt_btn, selected_slide_idx,
|
|
| 397 |
slides_markdown = process_document(combined_text, session_id)
|
| 398 |
add_log("Slide generation completed.", session_id)
|
| 399 |
with session['lock']:
|
| 400 |
-
# Add as new slide set to session
|
| 401 |
slide_name = f"Slides {time.strftime('%Y-%m-%d %H:%M:%S')}"
|
| 402 |
session['slide_markdowns'].append(slides_markdown)
|
| 403 |
session['slide_markdown_names'].append(slide_name)
|
|
|
|
| 50 |
'uploaded_file': None,
|
| 51 |
'uploaded_filename': None,
|
| 52 |
'lock': threading.Lock(),
|
| 53 |
+
'slide_markdowns': [],
|
| 54 |
+
'slide_markdown_names': [],
|
| 55 |
'current_slide_md': "",
|
| 56 |
}
|
| 57 |
return SESSION_DATA[session_id]
|
|
|
|
| 81 |
'''),
|
| 82 |
html.A(id='uploaded-file-download-link', href="", style={'display': 'none'}),
|
| 83 |
html.A(id='pptx-download-link', href="", style={'display': 'none'}),
|
| 84 |
+
# Dummy hidden dropdown to avoid Dash Input error
|
| 85 |
+
dcc.Dropdown(id='slide-generation-list', style={'display': 'none'}),
|
| 86 |
dbc.Container([
|
| 87 |
dbc.Row([
|
| 88 |
dbc.Col([
|
|
|
|
| 328 |
)
|
| 329 |
log_str = '\n'.join(session['log_messages'][:100])
|
| 330 |
|
|
|
|
| 331 |
dropdown_options = [
|
| 332 |
{'label': slide_name, 'value': idx}
|
| 333 |
for idx, slide_name in enumerate(slide_list)
|
|
|
|
| 344 |
)
|
| 345 |
]) if slide_list else html.Div("No slides generated yet.", className="text-muted")
|
| 346 |
|
|
|
|
| 347 |
if button_id == 'upload-file':
|
| 348 |
if upload_contents and upload_filename:
|
| 349 |
try:
|
|
|
|
| 397 |
slides_markdown = process_document(combined_text, session_id)
|
| 398 |
add_log("Slide generation completed.", session_id)
|
| 399 |
with session['lock']:
|
|
|
|
| 400 |
slide_name = f"Slides {time.strftime('%Y-%m-%d %H:%M:%S')}"
|
| 401 |
session['slide_markdowns'].append(slides_markdown)
|
| 402 |
session['slide_markdown_names'].append(slide_name)
|