Files
gh-christianlouis-docuelevate/app/views/license_routes.py
T
Christian Krakau-Louis 05ede35059 feat: Add license and attribution routes, update templates and documentation
- Added a new license route to serve the LGPL license text.
- Introduced a new attribution page to acknowledge third-party software used in the project.
- Updated the base HTML template to include a link to the attribution page.
- Included the license router in the main application router.
- Added the license text file for LGPL to the static licenses directory.
- Updated the NOTICE file to include detailed attributions for third-party libraries.
- Added a new requirements-dev.txt for license compliance checking.
- Updated the requirements.txt to clarify the LGPL license for Paramiko.
2025-04-11 02:39:26 +02:00

28 lines
888 B
Python

from fastapi import APIRouter, HTTPException, Request
from fastapi.responses import PlainTextResponse, HTMLResponse
from pathlib import Path
import os
from app.views.base import templates, require_login
router = APIRouter()
@router.get("/licenses/lgpl.txt", response_class=PlainTextResponse)
async def get_lgpl_license():
"""
Serve the LGPL license text file
"""
license_path = Path("frontend/static/licenses/lgpl.txt")
if not license_path.exists():
raise HTTPException(status_code=404, detail="License file not found")
with open(license_path, "r") as f:
return f.read()
@router.get("/attribution", response_class=HTMLResponse, include_in_schema=False)
async def serve_attribution(request: Request):
"""
Serve the third-party attribution page
"""
return templates.TemplateResponse("attribution.html", {"request": request})