brainsqueeze commited on
Commit
8d9d999
·
verified ·
1 Parent(s): 656569e

Upload app.py

Browse files

disable APIs from frontend

Files changed (1) hide show
  1. app.py +23 -8
app.py CHANGED
@@ -27,6 +27,8 @@ except ImportError:
27
  )
28
  from constants import JS, CATEGORIES
29
 
 
 
30
 
31
  class LoggedComponents(TypedDict):
32
  context: List[gr.components.Component]
@@ -93,7 +95,7 @@ def generate_pdf(*sections: str) -> str:
93
  pdf.multi_cell(w=0, h=line_height, text=section)
94
  pdf.ln(line_height) # Single spacing
95
 
96
- pdf_output = "/tmp/LOI_by_Candid_AI.pdf"
97
  pdf.output(pdf_output)
98
  return pdf_output
99
 
@@ -128,13 +130,15 @@ def generate_docx(*sections: str) -> str:
128
  for section in sections:
129
  doc.add_paragraph(section)
130
 
131
- docx_output = "/tmp/LOI_by_Candid_AI.docx"
132
  doc.save(docx_output)
133
  return docx_output
134
 
135
 
136
  def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
137
- with gr.Blocks(theme=gr.themes.Soft(), title="LOI writer") as demo:
 
 
138
  gr.Markdown(
139
  """
140
  <h1>Demo: LOI writer</h1>
@@ -246,7 +250,9 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
246
  button_help.click(
247
  help_mission_statement,
248
  inputs=[org_name_text, textbox_info],
249
- outputs=[org_mission_statement_text]
 
 
250
  )
251
 
252
  foundation_mission_statement_text = gr.Textbox(
@@ -400,7 +406,9 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
400
  generate_pdf,
401
  inputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
402
  outputs=gr.File(label="Download as PDF"),
403
- scroll_to_output=True
 
 
404
  )
405
 
406
  # pylint: disable=no-member
@@ -408,7 +416,9 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
408
  generate_docx,
409
  inputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
410
  outputs=gr.File(label="Download as docx"),
411
- scroll_to_output=True
 
 
412
  )
413
 
414
  # pylint: disable=no-member
@@ -429,6 +439,7 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
429
  funder_candid_id
430
  ],
431
  scroll_to_output=True,
 
432
  api_name=False,
433
  queue=True,
434
  )
@@ -442,11 +453,12 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
442
  projects_text
443
  ],
444
  outputs=[amount_estimate_text],
 
445
  api_name=False,
446
  queue=True
447
  )
448
 
449
- data_source_button.click(fn=update_links, inputs=category_dropdown, outputs=link_markdown)
450
 
451
  write_btn.click(
452
  fn=draft_letter,
@@ -478,6 +490,7 @@ def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
478
  ],
479
  outputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
480
  scroll_to_output=True,
 
481
  api_name=False,
482
  queue=True,
483
  )
@@ -605,6 +618,8 @@ def build_feedback(components: LoggedComponents) -> gr.Blocks:
605
  fn=handle_feedback,
606
  inputs=[comp for k, cl in components.items() for comp in (cl if isinstance(cl, list) else [cl])],
607
  outputs=None,
 
 
608
  preprocess=False,
609
  )
610
  return demo
@@ -630,5 +645,5 @@ if __name__ == '__main__':
630
  (os.getenv("APP_USERNAME"), os.getenv("APP_PASSWORD")),
631
  (os.getenv("APP_PUBLIC_USERNAME"), os.getenv("APP_PUBLIC_PASSWORD")),
632
  ],
633
- auth_message="Login to Candid's letter of intent demo"
634
  )
 
27
  )
28
  from constants import JS, CATEGORIES
29
 
30
+ os.environ["GRADIO_TEMP_DIR"] = "/tmp"
31
+
32
 
33
  class LoggedComponents(TypedDict):
34
  context: List[gr.components.Component]
 
95
  pdf.multi_cell(w=0, h=line_height, text=section)
96
  pdf.ln(line_height) # Single spacing
97
 
98
+ pdf_output = os.path.join(os.getenv("GRADIO_TEMP_DIR", "/tmp"), "LOI_by_Candid_AI.pdf")
99
  pdf.output(pdf_output)
100
  return pdf_output
101
 
 
130
  for section in sections:
131
  doc.add_paragraph(section)
132
 
133
+ docx_output = os.path.join(os.getenv("GRADIO_TEMP_DIR", "/tmp"), "LOI_by_Candid_AI.docx")
134
  doc.save(docx_output)
135
  return docx_output
136
 
137
 
138
  def build_drafter() -> Tuple[LoggedComponents, gr.Blocks]:
139
+ # delete_cache is tuple (frequency, age) where age is in seconds
140
+ # frequency is provided as an integer num_seconds as well where the deletion occurrence is 1 / num_seconds
141
+ with gr.Blocks(theme=gr.themes.Soft(), title="LOI writer", delete_cache=(30, 30)) as demo:
142
  gr.Markdown(
143
  """
144
  <h1>Demo: LOI writer</h1>
 
250
  button_help.click(
251
  help_mission_statement,
252
  inputs=[org_name_text, textbox_info],
253
+ outputs=[org_mission_statement_text],
254
+ show_api=False,
255
+ api_name=False,
256
  )
257
 
258
  foundation_mission_statement_text = gr.Textbox(
 
406
  generate_pdf,
407
  inputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
408
  outputs=gr.File(label="Download as PDF"),
409
+ scroll_to_output=True,
410
+ show_api=False,
411
+ api_name=False,
412
  )
413
 
414
  # pylint: disable=no-member
 
416
  generate_docx,
417
  inputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
418
  outputs=gr.File(label="Download as docx"),
419
+ scroll_to_output=True,
420
+ show_api=False,
421
+ api_name=False,
422
  )
423
 
424
  # pylint: disable=no-member
 
439
  funder_candid_id
440
  ],
441
  scroll_to_output=True,
442
+ show_api=False,
443
  api_name=False,
444
  queue=True,
445
  )
 
453
  projects_text
454
  ],
455
  outputs=[amount_estimate_text],
456
+ show_api=False,
457
  api_name=False,
458
  queue=True
459
  )
460
 
461
+ data_source_button.click(fn=update_links, inputs=category_dropdown, outputs=link_markdown, show_api=False)
462
 
463
  write_btn.click(
464
  fn=draft_letter,
 
490
  ],
491
  outputs=[opening, org_desc, need, project_desc, fund_request, conclusion],
492
  scroll_to_output=True,
493
+ show_api=False,
494
  api_name=False,
495
  queue=True,
496
  )
 
618
  fn=handle_feedback,
619
  inputs=[comp for k, cl in components.items() for comp in (cl if isinstance(cl, list) else [cl])],
620
  outputs=None,
621
+ show_api=False,
622
+ api_name=False,
623
  preprocess=False,
624
  )
625
  return demo
 
645
  (os.getenv("APP_USERNAME"), os.getenv("APP_PASSWORD")),
646
  (os.getenv("APP_PUBLIC_USERNAME"), os.getenv("APP_PUBLIC_PASSWORD")),
647
  ],
648
+ auth_message="Login to Candid's letter of intent demo",
649
  )