netadm/web/router.py

62 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from fastapi import APIRouter, Form
from starlette.requests import Request
from starlette.responses import HTMLResponse
from starlette.templating import Jinja2Templates
from fastapi.openapi.docs import get_swagger_ui_html
from config import settings
from config import TEMPLATES_DIR
from scripts.сheck_available_ports import start_check
router = APIRouter(
tags=["Web"],
)
templates = Jinja2Templates(directory=TEMPLATES_DIR)
@router.get("/web/check_ports", response_class=HTMLResponse)
async def check_ports(request: Request):
return templates.TemplateResponse(
"body-check_ports.html",
{
"request": request,
},
)
@router.get("/web/start_check_ports")
async def start_check_ports(request: Request, inputText: str):
results = start_check(inputText, result_type="test")
return templates.TemplateResponse(
"body-check_ports.html",
{
"request": request,
"results": results,
},
)
@router.get("/docs", include_in_schema=False)
async def custom_swagger_ui_html():
return get_swagger_ui_html(
openapi_url=settings.swagger.openapi_url,
title=settings.swagger.title,
oauth2_redirect_url=settings.swagger.oauth2_redirect_url,
swagger_js_url=settings.swagger.swagger_js_url,
swagger_css_url=settings.swagger.swagger_css_url,
swagger_favicon_url=settings.swagger.swagger_favicon_url,
)
@router.get("/", response_class=HTMLResponse)
async def start_page(request: Request):
return templates.TemplateResponse(
"base.html",
{
"request": request,
},
)