Download app.py from QnoM/test: direct link, hf CLI and curl.
- Browser
- Download file 1.42 kB
-
https://huggingface.co/spaces/QnoM/test/resolve/main/app.py
- Command line
-
hf download hf://spaces/QnoM/test/app.py
-
curl -L -o app.py https://huggingface.co/spaces/QnoM/test/resolve/main/app.py
1.42 kB
| import gradio as gr | |
| import requests | |
| from requests.auth import HTTPBasicAuth | |
| import json | |
| def fetch_confluence_pages(domain, email, api_token): | |
| url = f"https://{domain}/wiki/api/v2/pages" | |
| auth = HTTPBasicAuth(email, api_token) | |
| headers = { | |
| "Accept": "application/json" | |
| } | |
| try: | |
| response = requests.request( | |
| "GET", | |
| url, | |
| headers=headers, | |
| auth=auth | |
| ) | |
| response.raise_for_status() # Lève une exception pour les codes d'erreur HTTP | |
| # Formater la réponse JSON pour une meilleure lisibilité | |
| formatted_response = json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")) | |
| return formatted_response | |
| except requests.exceptions.RequestException as e: | |
| return f"Une erreur s'est produite : {str(e)}" | |
| # Création de l'interface Gradio | |
| iface = gr.Interface( | |
| fn=fetch_confluence_pages, | |
| inputs=[ | |
| gr.Textbox(label="Domaine Confluence (ex: your-domain.atlassian.net)"), | |
| gr.Textbox(label="Email"), | |
| gr.Textbox(label="API Token", type="password") | |
| ], | |
| outputs=gr.Textbox(label="Réponse de l'API", lines=20), | |
| title="Récupération des pages Confluence", | |
| description="Entrez les détails de votre instance Confluence pour récupérer la liste des pages." | |
| ) | |
| # Lancement de l'interface | |
| iface.launch() |