Spaces:
Paused
Paused
Update app.py via AI Editor
Browse files
app.py
CHANGED
@@ -66,8 +66,6 @@ def process_document(action, selected_filename=None, chat_input=None, selected_p
|
|
66 |
logging.info(f"Process document called with action: {action}")
|
67 |
|
68 |
doc_content = None
|
69 |
-
# Actions "shred" and "generate" use the RFP/SOW/PWS/RFI document dropdown.
|
70 |
-
# If needed, proposal document available in selected_proposal.
|
71 |
if action in ["shred", "generate"]:
|
72 |
if selected_filename and selected_filename in uploaded_documents:
|
73 |
doc_content = uploaded_documents[selected_filename]
|
@@ -186,16 +184,10 @@ def get_uploaded_proposal_list(docdict):
|
|
186 |
app.layout = dbc.Container([
|
187 |
dbc.Row([
|
188 |
dbc.Col([
|
189 |
-
dbc.Card([
|
190 |
-
dbc.CardHeader(html.H3("Documents")),
|
191 |
-
dbc.CardBody([
|
192 |
-
html.Div(id='uploaded-doc-list')
|
193 |
-
])
|
194 |
-
], className="mb-3"),
|
195 |
-
|
196 |
dbc.Card([
|
197 |
dbc.CardHeader(html.H5("RFP/SOW/PWS/RFI")),
|
198 |
dbc.CardBody([
|
|
|
199 |
dcc.Dropdown(
|
200 |
id='select-document-dropdown',
|
201 |
options=[{'label': fn, 'value': fn} for fn in uploaded_documents.keys()],
|
@@ -228,6 +220,7 @@ app.layout = dbc.Container([
|
|
228 |
dbc.Card([
|
229 |
dbc.CardHeader(html.H5("Proposal")),
|
230 |
dbc.CardBody([
|
|
|
231 |
dcc.Dropdown(
|
232 |
id='select-proposal-dropdown',
|
233 |
options=[{'label': fn, 'value': fn} for fn in uploaded_proposals.keys()],
|
@@ -313,7 +306,6 @@ def update_uploaded_docs(
|
|
313 |
output_document_upload = ""
|
314 |
output_proposal_upload = ""
|
315 |
|
316 |
-
# --- Handle RFP/SOW/PWS/RFI document upload ---
|
317 |
if rfp_content is not None and rfp_filename:
|
318 |
content_type, content_string = rfp_content.split(',')
|
319 |
decoded = base64.b64decode(content_string)
|
@@ -326,7 +318,6 @@ def update_uploaded_docs(
|
|
326 |
output_document_upload = html.Div("Error: Could not decode document. Please upload a valid text file.", style={"wordWrap": "break-word"})
|
327 |
logging.error(f"Failed to decode uploaded document: {rfp_filename}")
|
328 |
|
329 |
-
# --- Handle Proposal document upload ---
|
330 |
if proposal_content is not None and proposal_filename:
|
331 |
content_type, content_string = proposal_content.split(',')
|
332 |
decoded = base64.b64decode(content_string)
|
@@ -339,7 +330,6 @@ def update_uploaded_docs(
|
|
339 |
output_proposal_upload = html.Div("Error: Could not decode proposal. Please upload a valid text file.", style={"wordWrap": "break-word"})
|
340 |
logging.error(f"Failed to decode uploaded proposal: {proposal_filename}")
|
341 |
|
342 |
-
# --- Handle RFP/SOW/PWS/RFI document delete ---
|
343 |
if rfp_delete_clicks:
|
344 |
for i, n_click in enumerate(rfp_delete_clicks):
|
345 |
if n_click:
|
@@ -351,7 +341,6 @@ def update_uploaded_docs(
|
|
351 |
if selected_doc == del_filename:
|
352 |
selected_doc = next(iter(uploaded_documents), None)
|
353 |
break
|
354 |
-
# --- Handle Proposal document delete ---
|
355 |
if proposal_delete_clicks:
|
356 |
for i, n_click in enumerate(proposal_delete_clicks):
|
357 |
if n_click:
|
|
|
66 |
logging.info(f"Process document called with action: {action}")
|
67 |
|
68 |
doc_content = None
|
|
|
|
|
69 |
if action in ["shred", "generate"]:
|
70 |
if selected_filename and selected_filename in uploaded_documents:
|
71 |
doc_content = uploaded_documents[selected_filename]
|
|
|
184 |
app.layout = dbc.Container([
|
185 |
dbc.Row([
|
186 |
dbc.Col([
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
dbc.Card([
|
188 |
dbc.CardHeader(html.H5("RFP/SOW/PWS/RFI")),
|
189 |
dbc.CardBody([
|
190 |
+
get_uploaded_doc_list(uploaded_documents),
|
191 |
dcc.Dropdown(
|
192 |
id='select-document-dropdown',
|
193 |
options=[{'label': fn, 'value': fn} for fn in uploaded_documents.keys()],
|
|
|
220 |
dbc.Card([
|
221 |
dbc.CardHeader(html.H5("Proposal")),
|
222 |
dbc.CardBody([
|
223 |
+
get_uploaded_proposal_list(uploaded_proposals),
|
224 |
dcc.Dropdown(
|
225 |
id='select-proposal-dropdown',
|
226 |
options=[{'label': fn, 'value': fn} for fn in uploaded_proposals.keys()],
|
|
|
306 |
output_document_upload = ""
|
307 |
output_proposal_upload = ""
|
308 |
|
|
|
309 |
if rfp_content is not None and rfp_filename:
|
310 |
content_type, content_string = rfp_content.split(',')
|
311 |
decoded = base64.b64decode(content_string)
|
|
|
318 |
output_document_upload = html.Div("Error: Could not decode document. Please upload a valid text file.", style={"wordWrap": "break-word"})
|
319 |
logging.error(f"Failed to decode uploaded document: {rfp_filename}")
|
320 |
|
|
|
321 |
if proposal_content is not None and proposal_filename:
|
322 |
content_type, content_string = proposal_content.split(',')
|
323 |
decoded = base64.b64decode(content_string)
|
|
|
330 |
output_proposal_upload = html.Div("Error: Could not decode proposal. Please upload a valid text file.", style={"wordWrap": "break-word"})
|
331 |
logging.error(f"Failed to decode uploaded proposal: {proposal_filename}")
|
332 |
|
|
|
333 |
if rfp_delete_clicks:
|
334 |
for i, n_click in enumerate(rfp_delete_clicks):
|
335 |
if n_click:
|
|
|
341 |
if selected_doc == del_filename:
|
342 |
selected_doc = next(iter(uploaded_documents), None)
|
343 |
break
|
|
|
344 |
if proposal_delete_clicks:
|
345 |
for i, n_click in enumerate(proposal_delete_clicks):
|
346 |
if n_click:
|