S01Nour commited on
Commit
7c720d9
·
1 Parent(s): 254348e

feat(ui): initial Gradio app (Gradio + requests)

Browse files
Files changed (3) hide show
  1. README.md +0 -12
  2. app.py +29 -0
  3. 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