Spaces:
Paused
Paused
Update app.py via AI Editor
Browse files
app.py
CHANGED
@@ -299,16 +299,13 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
|
|
299 |
doc_type = btn_ids[idx]['index']
|
300 |
document_type = doc_type
|
301 |
|
302 |
-
|
303 |
-
logging.info("No uploaded files for Shred. Aborting.")
|
304 |
-
return html.Div("Please upload a document before shredding."), ""
|
305 |
-
|
306 |
-
source = radio_values[idx] if radio_values and len(radio_values) > idx else 'loaded'
|
307 |
-
doc_content = None
|
308 |
-
|
309 |
if doc_type == "Shred":
|
|
|
|
|
|
|
310 |
file_contents = list(uploaded_files.values())
|
311 |
-
logging.info(f"Calling OpenAI for Shred with {len(file_contents)} files.")
|
312 |
try:
|
313 |
generated = generate_document(doc_type, file_contents)
|
314 |
current_document = generated
|
@@ -320,10 +317,19 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
|
|
320 |
logging.error(f"Error generating document: {str(e)}")
|
321 |
return html.Div(f"Error generating document: {str(e)}"), "Error"
|
322 |
|
|
|
323 |
if shredded_document is None:
|
324 |
logging.info("Shredded document is None. Aborting.")
|
325 |
return html.Div("Please shred a document first."), ""
|
326 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
if source == 'uploaded':
|
328 |
if upload_contents and len(upload_contents) > idx and upload_contents[idx] and upload_filenames and len(upload_filenames) > idx and upload_filenames[idx]:
|
329 |
doc_content = process_document(upload_contents[idx], upload_filenames[idx])
|
|
|
299 |
doc_type = btn_ids[idx]['index']
|
300 |
document_type = doc_type
|
301 |
|
302 |
+
# SHRED CASE: Use uploaded_files directly, no radio or upload needed
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
if doc_type == "Shred":
|
304 |
+
if not uploaded_files:
|
305 |
+
logging.info("No uploaded files for Shred. Aborting.")
|
306 |
+
return html.Div("Please upload a document before shredding."), ""
|
307 |
file_contents = list(uploaded_files.values())
|
308 |
+
logging.info(f"Calling OpenAI for Shred with {len(file_contents)} files: {list(uploaded_files.keys())}")
|
309 |
try:
|
310 |
generated = generate_document(doc_type, file_contents)
|
311 |
current_document = generated
|
|
|
317 |
logging.error(f"Error generating document: {str(e)}")
|
318 |
return html.Div(f"Error generating document: {str(e)}"), "Error"
|
319 |
|
320 |
+
# For other doc types, handle radio/upload logic
|
321 |
if shredded_document is None:
|
322 |
logging.info("Shredded document is None. Aborting.")
|
323 |
return html.Div("Please shred a document first."), ""
|
324 |
|
325 |
+
# Defensive: radio_values, upload_contents, upload_filenames may be None or short
|
326 |
+
source = None
|
327 |
+
if radio_values and len(radio_values) > idx:
|
328 |
+
source = radio_values[idx]
|
329 |
+
else:
|
330 |
+
source = 'loaded'
|
331 |
+
|
332 |
+
doc_content = None
|
333 |
if source == 'uploaded':
|
334 |
if upload_contents and len(upload_contents) > idx and upload_contents[idx] and upload_filenames and len(upload_filenames) > idx and upload_filenames[idx]:
|
335 |
doc_content = process_document(upload_contents[idx], upload_filenames[idx])
|