62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
|
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,
|
|||
|
},
|
|||
|
)
|