Spaces:
Sleeping
Sleeping
feat(ui): initial Gradio app (Gradio + requests)
Browse files- README.md +0 -12
- app.py +29 -0
- requirements.txt +2 -0
README.md
CHANGED
|
@@ -1,12 +0,0 @@
|
|
| 1 |
-
---
|
| 2 |
-
title: Fillable Pdf
|
| 3 |
-
emoji: 🔥
|
| 4 |
-
colorFrom: pink
|
| 5 |
-
colorTo: gray
|
| 6 |
-
sdk: gradio
|
| 7 |
-
sdk_version: 5.42.0
|
| 8 |
-
app_file: app.py
|
| 9 |
-
pinned: false
|
| 10 |
-
---
|
| 11 |
-
|
| 12 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os, gradio as gr, requests
|
| 2 |
+
|
| 3 |
+
API_URL = os.getenv("API_URL")
|
| 4 |
+
API_KEY = os.getenv("API_KEY", "")
|
| 5 |
+
assert API_URL, "API_URL manquante"
|
| 6 |
+
|
| 7 |
+
def fill_quitus(source_pdf, quitus_pdf, doc_type):
|
| 8 |
+
files = {
|
| 9 |
+
"source_pdf": ("source.pdf", source_pdf, "application/pdf"),
|
| 10 |
+
"quitus_pdf": ("quitus.pdf", quitus_pdf, "application/pdf"),
|
| 11 |
+
}
|
| 12 |
+
headers = {"X-API-Key": API_KEY} if API_KEY else {}
|
| 13 |
+
r = requests.post(API_URL, files=files, data={"doc_type": doc_type}, headers=headers)
|
| 14 |
+
if r.status_code != 200:
|
| 15 |
+
return None, f"Erreur API: {r.status_code} - {r.text}"
|
| 16 |
+
return (r.content, "quitus_filled.pdf"), "OK"
|
| 17 |
+
|
| 18 |
+
with gr.Blocks() as demo:
|
| 19 |
+
gr.Markdown("## Remplir Quitus (Licence/Master)")
|
| 20 |
+
with gr.Row():
|
| 21 |
+
src = gr.File(label="PDF source (licence/master)", file_types=[".pdf"])
|
| 22 |
+
q = gr.File(label="Modèle Quitus (PDF)", file_types=[".pdf"])
|
| 23 |
+
doc_type = gr.Radio(["licence","master"], value="licence", label="Type de document")
|
| 24 |
+
out_pdf = gr.File(label="Quitus rempli")
|
| 25 |
+
status = gr.Textbox(label="Statut")
|
| 26 |
+
btn = gr.Button("Remplir et télécharger")
|
| 27 |
+
btn.click(fill_quitus, inputs=[src,q,doc_type], outputs=[out_pdf, status])
|
| 28 |
+
|
| 29 |
+
demo.launch()
|
requirements.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
gradio
|
| 2 |
+
requests
|