bluenevus commited on
Commit
bd5de4f
·
verified ·
1 Parent(s): 46fa047

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -9
app.py CHANGED
@@ -6,7 +6,8 @@ import time
6
  from typing import List, Tuple
7
  import re
8
  import pandas as pd
9
-
 
10
  import dash
11
  import dash_bootstrap_components as dbc
12
  from dash import html, dcc, Input, Output, State, ctx, dash_table
@@ -436,7 +437,12 @@ def update_r_review_output(n_clicks, contents, filename, red_doc, requirements):
436
  def download_shred(n_clicks, shred_output):
437
  if shred_output is None:
438
  return dash.no_update
439
- return dict(content=shred_output, filename="shred_outline.md")
 
 
 
 
 
440
 
441
  @app.callback(
442
  Output("download-pink-doc", "data"),
@@ -447,7 +453,12 @@ def download_shred(n_clicks, shred_output):
447
  def download_pink(n_clicks, pink_output):
448
  if pink_output is None:
449
  return dash.no_update
450
- return dict(content=pink_output, filename="pink_team_document.md")
 
 
 
 
 
451
 
452
  @app.callback(
453
  Output("download-p-review-doc", "data"),
@@ -458,7 +469,12 @@ def download_pink(n_clicks, pink_output):
458
  def download_p_review(n_clicks, p_review_output):
459
  if p_review_output is None:
460
  return dash.no_update
461
- return dict(content=p_review_output, filename="p_review_report.md")
 
 
 
 
 
462
 
463
  @app.callback(
464
  Output("download-red-doc", "data"),
@@ -469,7 +485,12 @@ def download_p_review(n_clicks, p_review_output):
469
  def download_red(n_clicks, red_output):
470
  if red_output is None:
471
  return dash.no_update
472
- return dict(content=red_output, filename="red_team_document.md")
 
 
 
 
 
473
 
474
  @app.callback(
475
  Output("download-r-review-doc", "data"),
@@ -480,7 +501,12 @@ def download_red(n_clicks, red_output):
480
  def download_r_review(n_clicks, r_review_output):
481
  if r_review_output is None:
482
  return dash.no_update
483
- return dict(content=r_review_output, filename="r_review_report.md")
 
 
 
 
 
484
 
485
  @app.callback(
486
  Output("download-g-review-doc", "data"),
@@ -491,7 +517,12 @@ def download_r_review(n_clicks, r_review_output):
491
  def download_g_review(n_clicks, g_review_output):
492
  if g_review_output is None:
493
  return dash.no_update
494
- return dict(content=g_review_output, filename="g_review_report.md")
 
 
 
 
 
495
 
496
  @app.callback(
497
  Output("download-loe-doc", "data"),
@@ -502,8 +533,15 @@ def download_g_review(n_clicks, g_review_output):
502
  def download_loe(n_clicks, loe_output):
503
  if loe_output is None:
504
  return dash.no_update
505
- loe_text = loe_output[0]['props']['children']
506
- return dict(content=loe_text, filename="loe_report.md")
 
 
 
 
 
 
 
507
 
508
  if __name__ == '__main__':
509
  print("Starting the Dash application...")
 
6
  from typing import List, Tuple
7
  import re
8
  import pandas as pd
9
+ from docx import Document
10
+ from io import BytesIO
11
  import dash
12
  import dash_bootstrap_components as dbc
13
  from dash import html, dcc, Input, Output, State, ctx, dash_table
 
437
  def download_shred(n_clicks, shred_output):
438
  if shred_output is None:
439
  return dash.no_update
440
+ content = shred_output['props']['children'] if isinstance(shred_output, dict) else str(shred_output)
441
+ doc = create_docx(content)
442
+ buffer = BytesIO()
443
+ doc.save(buffer)
444
+ buffer.seek(0)
445
+ return dcc.send_bytes(buffer.getvalue(), "shred_outline.docx")
446
 
447
  @app.callback(
448
  Output("download-pink-doc", "data"),
 
453
  def download_pink(n_clicks, pink_output):
454
  if pink_output is None:
455
  return dash.no_update
456
+ content = pink_output['props']['children'] if isinstance(pink_output, dict) else str(pink_output)
457
+ doc = create_docx(content)
458
+ buffer = BytesIO()
459
+ doc.save(buffer)
460
+ buffer.seek(0)
461
+ return dcc.send_bytes(buffer.getvalue(), "pink_team_document.docx")
462
 
463
  @app.callback(
464
  Output("download-p-review-doc", "data"),
 
469
  def download_p_review(n_clicks, p_review_output):
470
  if p_review_output is None:
471
  return dash.no_update
472
+ content = p_review_output['props']['children'] if isinstance(p_review_output, dict) else str(p_review_output)
473
+ doc = create_docx(content)
474
+ buffer = BytesIO()
475
+ doc.save(buffer)
476
+ buffer.seek(0)
477
+ return dcc.send_bytes(buffer.getvalue(), "p_review_report.docx")
478
 
479
  @app.callback(
480
  Output("download-red-doc", "data"),
 
485
  def download_red(n_clicks, red_output):
486
  if red_output is None:
487
  return dash.no_update
488
+ content = red_output['props']['children'] if isinstance(red_output, dict) else str(red_output)
489
+ doc = create_docx(content)
490
+ buffer = BytesIO()
491
+ doc.save(buffer)
492
+ buffer.seek(0)
493
+ return dcc.send_bytes(buffer.getvalue(), "red_team_document.docx")
494
 
495
  @app.callback(
496
  Output("download-r-review-doc", "data"),
 
501
  def download_r_review(n_clicks, r_review_output):
502
  if r_review_output is None:
503
  return dash.no_update
504
+ content = r_review_output['props']['children'] if isinstance(r_review_output, dict) else str(r_review_output)
505
+ doc = create_docx(content)
506
+ buffer = BytesIO()
507
+ doc.save(buffer)
508
+ buffer.seek(0)
509
+ return dcc.send_bytes(buffer.getvalue(), "r_review_report.docx")
510
 
511
  @app.callback(
512
  Output("download-g-review-doc", "data"),
 
517
  def download_g_review(n_clicks, g_review_output):
518
  if g_review_output is None:
519
  return dash.no_update
520
+ content = g_review_output['props']['children'] if isinstance(g_review_output, dict) else str(g_review_output)
521
+ doc = create_docx(content)
522
+ buffer = BytesIO()
523
+ doc.save(buffer)
524
+ buffer.seek(0)
525
+ return dcc.send_bytes(buffer.getvalue(), "g_review_report.docx")
526
 
527
  @app.callback(
528
  Output("download-loe-doc", "data"),
 
533
  def download_loe(n_clicks, loe_output):
534
  if loe_output is None:
535
  return dash.no_update
536
+ if isinstance(loe_output, list) and len(loe_output) > 0:
537
+ content = loe_output[0]['props']['children'] if isinstance(loe_output[0], dict) else str(loe_output[0])
538
+ else:
539
+ content = str(loe_output)
540
+ doc = create_docx(content)
541
+ buffer = BytesIO()
542
+ doc.save(buffer)
543
+ buffer.seek(0)
544
+ return dcc.send_bytes(buffer.getvalue(), "loe_report.docx")
545
 
546
  if __name__ == '__main__':
547
  print("Starting the Dash application...")