From df2f1d0d814f0375f1e9d8a26899e4da654bd91d Mon Sep 17 00:00:00 2001 From: shmyga Date: Wed, 24 Jun 2026 11:44:50 +0300 Subject: [PATCH] refactor(easel): add view root module --- gallery/easel/route/view/__init__.py | 4 +-- gallery/easel/route/view/common/__init__.py | 36 ------------------- gallery/easel/route/view/root/__init__.py | 36 +++++++++++++++++++ .../templates/root_index.html | 0 scripts/setup | 8 +++-- 5 files changed, 44 insertions(+), 40 deletions(-) create mode 100644 gallery/easel/route/view/root/__init__.py rename gallery/easel/route/view/{common => root}/templates/root_index.html (100%) diff --git a/gallery/easel/route/view/__init__.py b/gallery/easel/route/view/__init__.py index 00dce0e..44adb8d 100644 --- a/gallery/easel/route/view/__init__.py +++ b/gallery/easel/route/view/__init__.py @@ -1,11 +1,11 @@ from fastapi import APIRouter, Depends -from .common import router as common_router +from .root import router as root_router from .schedule import router as schedule_router from .translation import set_language from .weather import router as weather_router router = APIRouter(tags=["view"], dependencies=[Depends(set_language)]) -router.include_router(common_router) +router.include_router(root_router) router.include_router(weather_router) router.include_router(schedule_router) diff --git a/gallery/easel/route/view/common/__init__.py b/gallery/easel/route/view/common/__init__.py index 4ab69bf..e69de29 100644 --- a/gallery/easel/route/view/common/__init__.py +++ b/gallery/easel/route/view/common/__init__.py @@ -1,36 +0,0 @@ -from pathlib import Path -from typing import NamedTuple - -from fastapi import APIRouter, Request -from fastapi.responses import HTMLResponse - -from ..common.utils.template import build_templates - - -class Section(NamedTuple): - link: str - title: str - icon: str - - -SECTIONS = [ - Section("weather", "Weather", "brightness-high"), - Section("schedule", "TV program", "tv"), -] - -base_dir = Path(__file__).parent - -router = APIRouter() - -templates = build_templates() - - -@router.get("/", response_class=HTMLResponse) -async def get_section_list(request: Request): - return templates.TemplateResponse( - request=request, - name="root_index.html", - context={ - "sections": SECTIONS, - }, - ) diff --git a/gallery/easel/route/view/root/__init__.py b/gallery/easel/route/view/root/__init__.py new file mode 100644 index 0000000..259cc92 --- /dev/null +++ b/gallery/easel/route/view/root/__init__.py @@ -0,0 +1,36 @@ +from pathlib import Path +from typing import NamedTuple + +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse + +from ..common.utils.template import build_templates + + +class Section(NamedTuple): + link: str + title: str + icon: str + + +SECTIONS = [ + Section("weather", "Weather", "brightness-high"), + Section("schedule", "TV program", "tv"), +] + +base_dir = Path(__file__).parent + +router = APIRouter() + +templates = build_templates(Path(__file__).parent / "templates") + + +@router.get("/", response_class=HTMLResponse) +async def get_section_list(request: Request): + return templates.TemplateResponse( + request=request, + name="root_index.html", + context={ + "sections": SECTIONS, + }, + ) diff --git a/gallery/easel/route/view/common/templates/root_index.html b/gallery/easel/route/view/root/templates/root_index.html similarity index 100% rename from gallery/easel/route/view/common/templates/root_index.html rename to gallery/easel/route/view/root/templates/root_index.html diff --git a/scripts/setup b/scripts/setup index 6201da2..a59bd99 100755 --- a/scripts/setup +++ b/scripts/setup @@ -2,6 +2,10 @@ set -e cd "$(dirname $(dirname "$0"))" || exit +if [[ ! -f .env ]]; then + cp .env-base .env +fi + PYTHON_VERSION=3.12 poetry env use ${PYTHON_VERSION} poetry install @@ -9,7 +13,7 @@ poetry install cd static || exit if [[ -f $HOME/.nvm/nvm.sh ]]; then - source "$HOME/.nvm/nvm.sh" - nvm use + source "$HOME/.nvm/nvm.sh" + nvm use fi npm ci