Modal deployment

This commit is contained in:
Adrian Rumpold
2025-04-24 08:45:01 +02:00
parent 2165ce0d5b
commit a15ceaa6e3
7 changed files with 444 additions and 28 deletions

View File

@@ -1,5 +1,5 @@
import lxml.etree as ET
from fastapi import FastAPI, Response
from fastapi import APIRouter, FastAPI, Response
from fastapi.middleware.cors import CORSMiddleware
from formex_viewer.formex4 import FormexArticleConverter
@@ -49,7 +49,10 @@ def _get_fmx4_data(celex_id: str, language: Language) -> ET.Element:
return xml
@app.get("/{celex_id}/articles")
api_router = APIRouter()
@api_router.get("/{celex_id}/articles")
def article_ids(celex_id: str, language: Language = Language.ENG):
"""
Fetch the article IDs from the server.
@@ -63,11 +66,9 @@ def article_ids(celex_id: str, language: Language = Language.ENG):
return article_ids
@app.get("/{celex_id}/toc/{language}")
@api_router.get("/{celex_id}/toc/{language}")
def toc(celex_id: str, language: Language = Language.ENG):
def _handle_division(division: ET.Element, level: int):
print(division)
title = ti_el[0] if (ti_el := division.xpath("TITLE/TI//text()")) else ""
subtitle = sti_el[0] if (sti_el := division.xpath("TITLE/STI//text()")) else ""
@@ -113,7 +114,7 @@ def toc(celex_id: str, language: Language = Language.ENG):
return toc
@app.get("/{celex_id}/articles/{article_id}/{language}")
@api_router.get("/{celex_id}/articles/{article_id}/{language}")
def article(celex_id: str, article_id: int, language: Language = Language.ENG):
"""
Fetch an article from the server.
@@ -129,3 +130,6 @@ def article(celex_id: str, article_id: int, language: Language = Language.ENG):
FormexArticleConverter().convert_article(article),
media_type="text/html",
)
app.include_router(api_router, prefix="/api")