Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -241,11 +241,12 @@ with gr.Blocks(css=custom_css) as demo:
|
|
241 |
output_label = gr.HTML(value='') # Replaced Textbox with HTML for label
|
242 |
submit_button_pdf = gr.Button("ارفع الملف", interactive=False)
|
243 |
|
244 |
-
chat_input = gr.Textbox(label="", rtl=True)
|
245 |
-
chat_output = gr.Textbox(label="", rtl=True)
|
246 |
-
audio_output = gr.Audio(label="🔊", interactive=False)
|
247 |
with gr.Group():
|
248 |
-
submit_button_chat = gr.Button("إرسال", interactive=
|
|
|
249 |
|
250 |
def handle_file_upload(pdf):
|
251 |
output_label.value=''
|
@@ -256,25 +257,27 @@ with gr.Blocks(css=custom_css) as demo:
|
|
256 |
if is_valid:
|
257 |
# Enable the upload button if the file is valid
|
258 |
value=''
|
259 |
-
return gr.update(value=value), gr.update(interactive=True), gr.update(
|
260 |
else:
|
261 |
value=f'<span style="color:{color}">{message}</span>'
|
262 |
-
return gr.update(value=value), gr.update(interactive=False), gr.update(
|
263 |
|
264 |
def process_pdf_and_enable_components(pdf):
|
265 |
# Process PDF and activate the other components
|
266 |
output_label.value='<span style="color:blue">جاري معالجة الملف...</span>'
|
267 |
message, is_valid = upload_pdf(pdf)
|
268 |
value=f'<span style="color:green">{message}</span>'
|
269 |
-
return gr.update(value=value), gr.update(
|
270 |
-
|
|
|
|
|
271 |
|
272 |
# When the user uploads a file, validate it and then allow PDF upload
|
273 |
pdf_input.change(handle_file_upload, inputs=pdf_input, outputs=[output_label,submit_button_pdf, submit_button_chat, chat_output, chat_input])
|
274 |
|
275 |
# When the user presses the upload button, process the PDF and enable other components
|
276 |
submit_button_pdf.click(process_pdf_and_enable_components, inputs=pdf_input, outputs=[output_label, submit_button_chat, submit_button_pdf, chat_output, chat_input])
|
277 |
-
|
278 |
# Chat button connection
|
279 |
submit_button_chat.click(chat, inputs=chat_input, outputs=[chat_output, audio_output])
|
280 |
|
|
|
241 |
output_label = gr.HTML(value='') # Replaced Textbox with HTML for label
|
242 |
submit_button_pdf = gr.Button("ارفع الملف", interactive=False)
|
243 |
|
244 |
+
chat_input = gr.Textbox(label="أدخل سؤالك هنا 💬", rtl=True, visible=False)
|
245 |
+
chat_output = gr.Textbox(label="الردالآلي 🤖", rtl=True, visible=False)
|
246 |
+
audio_output = gr.Audio(label="🔊", interactive=False, visible=False)
|
247 |
with gr.Group():
|
248 |
+
submit_button_chat = gr.Button("إرسال", interactive=True, visible=False)
|
249 |
+
clear_btn = gr.Button("مسح", interactive=True, visible=False)
|
250 |
|
251 |
def handle_file_upload(pdf):
|
252 |
output_label.value=''
|
|
|
257 |
if is_valid:
|
258 |
# Enable the upload button if the file is valid
|
259 |
value=''
|
260 |
+
return gr.update(value=value), gr.update(interactive=True), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False)
|
261 |
else:
|
262 |
value=f'<span style="color:{color}">{message}</span>'
|
263 |
+
return gr.update(value=value), gr.update(interactive=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False)
|
264 |
|
265 |
def process_pdf_and_enable_components(pdf):
|
266 |
# Process PDF and activate the other components
|
267 |
output_label.value='<span style="color:blue">جاري معالجة الملف...</span>'
|
268 |
message, is_valid = upload_pdf(pdf)
|
269 |
value=f'<span style="color:green">{message}</span>'
|
270 |
+
return gr.update(value=value), gr.update(visible=True), gr.update(interactive=False), gr.update(visible=True), gr.update(visible=True)
|
271 |
+
|
272 |
+
def clear_chat():
|
273 |
+
return "", "" #
|
274 |
|
275 |
# When the user uploads a file, validate it and then allow PDF upload
|
276 |
pdf_input.change(handle_file_upload, inputs=pdf_input, outputs=[output_label,submit_button_pdf, submit_button_chat, chat_output, chat_input])
|
277 |
|
278 |
# When the user presses the upload button, process the PDF and enable other components
|
279 |
submit_button_pdf.click(process_pdf_and_enable_components, inputs=pdf_input, outputs=[output_label, submit_button_chat, submit_button_pdf, chat_output, chat_input])
|
280 |
+
clear_btn.click(clear_chat, outputs=[chat_input, chat_output])
|
281 |
# Chat button connection
|
282 |
submit_button_chat.click(chat, inputs=chat_input, outputs=[chat_output, audio_output])
|
283 |
|