diff --git a/api/__init__.py b/api/__init__.py index d4cc226..e69de29 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -1,10 +0,0 @@ -from api.swagger import router as swagger_router -from fastapi import APIRouter - -from config import settings - -router = APIRouter() -router.include_router( - swagger_router, - prefix=settings.prefix.swagger, -) diff --git a/main.py b/main.py index 1cff39a..3e2aa93 100644 --- a/main.py +++ b/main.py @@ -5,7 +5,7 @@ import uvicorn from fastapi import FastAPI from fastapi.responses import ORJSONResponse from starlette.staticfiles import StaticFiles -from web.router import router as web_router +from web.routers import router as web_router input_text = """ diff --git a/web/__init__.py b/web/__init__.py deleted file mode 100644 index 424f4f1..0000000 --- a/web/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -from fastapi import APIRouter -from web.router import router as web_router - - -router = APIRouter() - -router.include_router( - web_router, - prefix="", -) diff --git a/web/router.py b/web/router.py deleted file mode 100644 index 1ef1a79..0000000 --- a/web/router.py +++ /dev/null @@ -1,61 +0,0 @@ -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, - }, - ) diff --git a/web/routers/__init__.py b/web/routers/__init__.py new file mode 100644 index 0000000..32c62b5 --- /dev/null +++ b/web/routers/__init__.py @@ -0,0 +1,22 @@ +from fastapi import APIRouter + +from web.routers.swagger import router as swagger_router +from web.routers.check_ports import router as check_ports_router +from web.routers.start_page import router as start_page_router + + +router = APIRouter( + tags=["Web"], +) +router.include_router( + swagger_router, + prefix="/docs", +) +router.include_router( + check_ports_router, + prefix="/web/check_ports", +) +router.include_router( + start_page_router, + prefix="", +) diff --git a/web/routers/check_ports.py b/web/routers/check_ports.py new file mode 100644 index 0000000..657dcc3 --- /dev/null +++ b/web/routers/check_ports.py @@ -0,0 +1,34 @@ +from fastapi import APIRouter +from starlette.requests import Request +from starlette.responses import HTMLResponse +from starlette.templating import Jinja2Templates +from config import TEMPLATES_DIR + +from scripts.сheck_available_ports import start_check + +router = APIRouter() + +templates = Jinja2Templates(directory=TEMPLATES_DIR) + + +@router.get("", response_class=HTMLResponse) +async def check_ports(request: Request): + return templates.TemplateResponse( + "body-check_ports.html", + { + "request": request, + }, + ) + + +@router.get("/start") +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, + }, + ) diff --git a/web/routers/start_page.py b/web/routers/start_page.py new file mode 100644 index 0000000..f433e6e --- /dev/null +++ b/web/routers/start_page.py @@ -0,0 +1,19 @@ +from fastapi import APIRouter +from starlette.requests import Request +from starlette.responses import HTMLResponse +from starlette.templating import Jinja2Templates +from config import TEMPLATES_DIR + +router = APIRouter() + +templates = Jinja2Templates(directory=TEMPLATES_DIR) + + +@router.get("/", response_class=HTMLResponse) +async def start_page(request: Request): + return templates.TemplateResponse( + "base.html", + { + "request": request, + }, + ) diff --git a/api/swagger.py b/web/routers/swagger.py similarity index 100% rename from api/swagger.py rename to web/routers/swagger.py diff --git a/web/templates/body-check_ports.html b/web/templates/body-check_ports.html index 8e4726d..c59593e 100644 --- a/web/templates/body-check_ports.html +++ b/web/templates/body-check_ports.html @@ -4,7 +4,7 @@ - +