From 82f025110102f5378d83a99543296ad83d07e837 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 17 Oct 2024 11:15:25 +0200 Subject: [PATCH] fix code --- src/backend/core/api/demo.py | 45 ++++++++++++++++++++++++++++++++---- src/backend/meet/settings.py | 4 ++++ 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/backend/core/api/demo.py b/src/backend/core/api/demo.py index c81b951d..fbaa53cb 100644 --- a/src/backend/core/api/demo.py +++ b/src/backend/core/api/demo.py @@ -101,10 +101,12 @@ def get_blocknote_content(summary): if response.status_code != 200: logger.error(f"Failed to convert summary. Status code: {response.status_code}") + return None response_data = response.json() if not 'content' in response_data: logger.error(f"Content is missing: %s", response_data) + return None content = response_data['content'] logger.info("Base64 content:", content) @@ -112,12 +114,42 @@ def get_blocknote_content(summary): return content -def get_doc_link(content, email): + +def get_document_link(content, email): """Wip.""" - logger.info("Wip create a document with content for %s", email) + logger.info("Create a document for %s", email) + + if not settings.DOCS_BASE_URL: + logger.error("DOCS_BASE_URL is not configured") + return None + + headers = { + "Content-Type": "application/json" + } + + data = { + "content": content, + "owner": email + } + + logger.info("Querying docs…") + response = requests.post(f"{settings.DOCS_BASE_URL}/api/v1.0/summary", headers=headers, json=data) + + if response.status_code != 200: + logger.error(f"Failed to get document's id. Status code: {response.status_code}") + return None + + response_data = response.json() + if not 'id' in response_data: + logger.error(f"ID is missing: %s", response_data) + return None + + id = response_data['id'] + logger.info("Document's id:", id) + + return f"{settings.DOCS_BASE_URL}/docs/{id}/" - return "link" def email_owner_with_summary(room, link, owner): """Wip.""" @@ -263,7 +295,12 @@ def minio_webhook(request): owner = owners[0] - link = get_doc_link(content, owner.email) + link = get_document_link(content, owner.email) + + if not link: + logger.error("Empty link.") + return Response("") + email_owner_with_summary(room, link, owner) return Response("") diff --git a/src/backend/meet/settings.py b/src/backend/meet/settings.py index 051eaf28..03b3b2e8 100755 --- a/src/backend/meet/settings.py +++ b/src/backend/meet/settings.py @@ -429,6 +429,10 @@ class Base(Configuration): BLOCKNOTE_CONVERTER_URL = values.Value( 'https://converter-blocknote.osc-fr1.scalingo.io/', environ_name="", environ_prefix=None ) + DOCS_BASE_URL = values.Value( + 'https://docs-ia.beta.numerique.gouv.fr', environ_name="", environ_prefix=None + ) + # pylint: disable=invalid-name @property def ENVIRONMENT(self):