Spaces:
Paused
Paused
Update app.py via AI Editor
Browse files
app.py
CHANGED
@@ -276,7 +276,6 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
|
|
276 |
if not uploaded_files and doc_type == "Shred":
|
277 |
return html.Div("Please upload a document before shredding."), ""
|
278 |
|
279 |
-
# Source selection
|
280 |
source = radio_values[idx] if radio_values and len(radio_values) > idx else 'loaded'
|
281 |
doc_content = None
|
282 |
|
@@ -286,13 +285,12 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
|
|
286 |
generated = generate_document(doc_type, file_contents)
|
287 |
current_document = generated
|
288 |
shredded_document = generated
|
289 |
-
preview = spreadsheet_preview(generated)
|
290 |
return preview, "Shred generated"
|
291 |
except Exception as e:
|
292 |
logging.error(f"Error generating document: {str(e)}")
|
293 |
return html.Div(f"Error generating document: {str(e)}"), "Error"
|
294 |
|
295 |
-
# For all other types
|
296 |
if shredded_document is None:
|
297 |
return html.Div("Please shred a document first."), ""
|
298 |
|
@@ -326,12 +324,12 @@ def generate_any_doc(n_clicks_list, btn_ids, radio_values, upload_contents, uplo
|
|
326 |
generated = generate_document(doc_type, [doc_content, shredded_document])
|
327 |
pink_review_document = generated
|
328 |
current_document = generated
|
329 |
-
preview = spreadsheet_preview(generated)
|
330 |
return preview, f"{doc_type} generated"
|
331 |
elif doc_type in ["Red Review", "Gold Review", "Virtual Board", "LOE"]:
|
332 |
generated = generate_document(doc_type, [doc_content, shredded_document])
|
333 |
current_document = generated
|
334 |
-
preview = spreadsheet_preview(generated)
|
335 |
return preview, f"{doc_type} generated"
|
336 |
elif doc_type in ["Pink", "Red", "Gold"]:
|
337 |
generated = generate_document(doc_type, [doc_content])
|
@@ -362,13 +360,22 @@ def update_uploaded_doc_name(contents, filename, id_dict):
|
|
362 |
return filename, contents, "uploaded"
|
363 |
return "", None, "loaded"
|
364 |
|
365 |
-
def spreadsheet_preview(text):
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
|
373 |
def generate_document(document_type, file_contents):
|
374 |
if document_type in spreadsheet_types:
|
@@ -460,7 +467,7 @@ Now, provide the updated {selected_doc_type}:
|
|
460 |
current_document = response['choices'][0]['message']['content']
|
461 |
logging.info("Document updated via chat successfully.")
|
462 |
if selected_doc_type in spreadsheet_types:
|
463 |
-
preview = spreadsheet_preview(current_document)
|
464 |
else:
|
465 |
preview = dcc.Markdown(current_document)
|
466 |
return f"Document updated based on: {chat_input}", preview
|
|
|
276 |
if not uploaded_files and doc_type == "Shred":
|
277 |
return html.Div("Please upload a document before shredding."), ""
|
278 |
|
|
|
279 |
source = radio_values[idx] if radio_values and len(radio_values) > idx else 'loaded'
|
280 |
doc_content = None
|
281 |
|
|
|
285 |
generated = generate_document(doc_type, file_contents)
|
286 |
current_document = generated
|
287 |
shredded_document = generated
|
288 |
+
preview = spreadsheet_preview(generated, doc_type)
|
289 |
return preview, "Shred generated"
|
290 |
except Exception as e:
|
291 |
logging.error(f"Error generating document: {str(e)}")
|
292 |
return html.Div(f"Error generating document: {str(e)}"), "Error"
|
293 |
|
|
|
294 |
if shredded_document is None:
|
295 |
return html.Div("Please shred a document first."), ""
|
296 |
|
|
|
324 |
generated = generate_document(doc_type, [doc_content, shredded_document])
|
325 |
pink_review_document = generated
|
326 |
current_document = generated
|
327 |
+
preview = spreadsheet_preview(generated, doc_type)
|
328 |
return preview, f"{doc_type} generated"
|
329 |
elif doc_type in ["Red Review", "Gold Review", "Virtual Board", "LOE"]:
|
330 |
generated = generate_document(doc_type, [doc_content, shredded_document])
|
331 |
current_document = generated
|
332 |
+
preview = spreadsheet_preview(generated, doc_type)
|
333 |
return preview, f"{doc_type} generated"
|
334 |
elif doc_type in ["Pink", "Red", "Gold"]:
|
335 |
generated = generate_document(doc_type, [doc_content])
|
|
|
360 |
return filename, contents, "uploaded"
|
361 |
return "", None, "loaded"
|
362 |
|
363 |
+
def spreadsheet_preview(text, doc_type=None):
|
364 |
+
if doc_type is None:
|
365 |
+
doc_type = ""
|
366 |
+
if doc_type in spreadsheet_types:
|
367 |
+
try:
|
368 |
+
df = pd.read_csv(StringIO(text))
|
369 |
+
return dbc.Table.from_dataframe(df, striped=True, bordered=True, hover=True, size="sm")
|
370 |
+
except Exception as e:
|
371 |
+
logging.error(f"Error parsing CSV for preview: {str(e)}")
|
372 |
+
return html.Pre("Unable to display spreadsheet preview. Raw output:\n" + text, style={'whiteSpace': 'pre-wrap', 'fontFamily': 'monospace'})
|
373 |
+
else:
|
374 |
+
try:
|
375 |
+
df = pd.read_csv(StringIO(text))
|
376 |
+
return dbc.Table.from_dataframe(df, striped=True, bordered=True, hover=True, size="sm")
|
377 |
+
except Exception:
|
378 |
+
return html.Pre(text, style={'whiteSpace': 'pre-wrap', 'fontFamily': 'monospace'})
|
379 |
|
380 |
def generate_document(document_type, file_contents):
|
381 |
if document_type in spreadsheet_types:
|
|
|
467 |
current_document = response['choices'][0]['message']['content']
|
468 |
logging.info("Document updated via chat successfully.")
|
469 |
if selected_doc_type in spreadsheet_types:
|
470 |
+
preview = spreadsheet_preview(current_document, selected_doc_type)
|
471 |
else:
|
472 |
preview = dcc.Markdown(current_document)
|
473 |
return f"Document updated based on: {chat_input}", preview
|