diff --git a/README.md b/README.md index dcdd229..3c0549c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FDH View +# FHDH View ## Description @@ -24,7 +24,7 @@ The endpoint serves the 10 upcoming screenings for the day. The frontend automat For development run the application locally: ```sh -poetry run uvicorn fdhview.main:app --reload +poetry run uvicorn fhdhview.main:app --reload ``` ## Tests @@ -59,6 +59,6 @@ docker compose -f docker/docker-compose.yml up The code for this repository is available under the `GNU Affero General Public License v3.0 or later`. -Figtree fonts in `fdhview/static/fonts/` are under the `SIL Open Font License, Version 1.1`. +Figtree fonts in `fhdhview/static/fonts/` are under the `SIL Open Font License, Version 1.1`. -The logo in `fdhview/static/Logo.svg` is copyright of `Filmhuis Den Haag` and must be replaced. +The logo in `fhdhview/static/Logo.svg` is copyright of `Filmhuis Den Haag` and must be replaced. diff --git a/docker/Dockerfile b/docker/Dockerfile index e698db7..ded3a8e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -34,4 +34,4 @@ ENV PATH="/app/.venv/bin:$PATH" USER appuser EXPOSE 8000 -CMD ["uvicorn", "fdhview.main:app", "--host", "0.0.0.0", "--port", "8000"] +CMD ["uvicorn", "fhdhview.main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/fdhview/__init__.py b/fhdhview/__init__.py similarity index 100% rename from fdhview/__init__.py rename to fhdhview/__init__.py diff --git a/fdhview/api/__init__.py b/fhdhview/api/__init__.py similarity index 100% rename from fdhview/api/__init__.py rename to fhdhview/api/__init__.py diff --git a/fdhview/api/admin.py b/fhdhview/api/admin.py similarity index 88% rename from fdhview/api/admin.py rename to fhdhview/api/admin.py index b64bd9f..a4b022f 100644 --- a/fdhview/api/admin.py +++ b/fhdhview/api/admin.py @@ -7,9 +7,9 @@ from fastapi import APIRouter, Depends, File, HTTPException, UploadFile, status from fastapi.responses import FileResponse, JSONResponse from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.api.deps import check_auth, get_session -from fdhview.services.screenwriter.importer import import_sessions -from fdhview.services.screenwriter.parser import XmlParseError, parse_screenwriter_xml +from fhdhview.api.deps import check_auth, get_session +from fhdhview.services.screenwriter.importer import import_sessions +from fhdhview.services.screenwriter.parser import XmlParseError, parse_screenwriter_xml BASE_DIR = Path(__file__).resolve().parent.parent diff --git a/fdhview/api/deps.py b/fhdhview/api/deps.py similarity index 90% rename from fdhview/api/deps.py rename to fhdhview/api/deps.py index b114cd3..208f396 100644 --- a/fdhview/api/deps.py +++ b/fhdhview/api/deps.py @@ -8,8 +8,8 @@ from fastapi import Depends, HTTPException, status from fastapi.security import HTTPBasic, HTTPBasicCredentials from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.core.config import settings -from fdhview.core.database import async_session +from fhdhview.core.config import settings +from fhdhview.core.database import async_session security = HTTPBasic() diff --git a/fdhview/api/health.py b/fhdhview/api/health.py similarity index 100% rename from fdhview/api/health.py rename to fhdhview/api/health.py diff --git a/fdhview/api/info.py b/fhdhview/api/info.py similarity index 100% rename from fdhview/api/info.py rename to fhdhview/api/info.py diff --git a/fdhview/api/screenings.py b/fhdhview/api/screenings.py similarity index 86% rename from fdhview/api/screenings.py rename to fhdhview/api/screenings.py index 4cd3390..1fb4dfd 100644 --- a/fdhview/api/screenings.py +++ b/fhdhview/api/screenings.py @@ -8,10 +8,10 @@ from fastapi import APIRouter, Depends from sqlmodel import col, select from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.api.deps import get_session -from fdhview.core.config import settings -from fdhview.models.screening import Screening -from fdhview.schemas.screening import ScreeningRead +from fhdhview.api.deps import get_session +from fhdhview.core.config import settings +from fhdhview.models.screening import Screening +from fhdhview.schemas.screening import ScreeningRead router = APIRouter(prefix="/screenings", tags=["Screenings"]) diff --git a/fdhview/core/__init__.py b/fhdhview/core/__init__.py similarity index 100% rename from fdhview/core/__init__.py rename to fhdhview/core/__init__.py diff --git a/fdhview/core/config.py b/fhdhview/core/config.py similarity index 100% rename from fdhview/core/config.py rename to fhdhview/core/config.py diff --git a/fdhview/core/database.py b/fhdhview/core/database.py similarity index 93% rename from fdhview/core/database.py rename to fhdhview/core/database.py index ec7271b..bc814e4 100644 --- a/fdhview/core/database.py +++ b/fhdhview/core/database.py @@ -5,7 +5,7 @@ from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine from sqlmodel import SQLModel from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.core.config import settings +from fhdhview.core.config import settings sqlite_url = f"sqlite+aiosqlite:///{settings.sql_file_name}" diff --git a/fdhview/html/info.html b/fhdhview/html/info.html similarity index 100% rename from fdhview/html/info.html rename to fhdhview/html/info.html diff --git a/fdhview/html/upload.html b/fhdhview/html/upload.html similarity index 100% rename from fdhview/html/upload.html rename to fhdhview/html/upload.html diff --git a/fdhview/main.py b/fhdhview/main.py similarity index 72% rename from fdhview/main.py rename to fhdhview/main.py index 92547c1..bcdddec 100644 --- a/fdhview/main.py +++ b/fhdhview/main.py @@ -7,11 +7,11 @@ from pathlib import Path from fastapi import FastAPI from fastapi.staticfiles import StaticFiles -from fdhview.api.admin import router as admin_router -from fdhview.api.health import router as health_router -from fdhview.api.info import router as info_router -from fdhview.api.screenings import router as screenings_router -from fdhview.core.database import init_db +from fhdhview.api.admin import router as admin_router +from fhdhview.api.health import router as health_router +from fhdhview.api.info import router as info_router +from fhdhview.api.screenings import router as screenings_router +from fhdhview.core.database import init_db @asynccontextmanager diff --git a/fdhview/models/__init__.py b/fhdhview/models/__init__.py similarity index 100% rename from fdhview/models/__init__.py rename to fhdhview/models/__init__.py diff --git a/fdhview/models/enums.py b/fhdhview/models/enums.py similarity index 100% rename from fdhview/models/enums.py rename to fhdhview/models/enums.py diff --git a/fdhview/models/screening.py b/fhdhview/models/screening.py similarity index 95% rename from fdhview/models/screening.py rename to fhdhview/models/screening.py index fd7b769..3e7ab13 100644 --- a/fdhview/models/screening.py +++ b/fhdhview/models/screening.py @@ -7,7 +7,7 @@ import sqlalchemy as sa from pydantic import field_serializer, field_validator from sqlmodel import Field, SQLModel -from fdhview.models.enums import KijkWijzer, Screen +from fhdhview.models.enums import KijkWijzer, Screen class Screening(SQLModel, table=True): diff --git a/fdhview/models/tags.py b/fhdhview/models/tags.py similarity index 96% rename from fdhview/models/tags.py rename to fhdhview/models/tags.py index 7e33a31..21364d6 100644 --- a/fdhview/models/tags.py +++ b/fhdhview/models/tags.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2026 Filmhuis Den Haag # SPDX-License-Identifier: AGPL-3.0-or-later -from fdhview.models.enums import KijkWijzer, Screen +from fhdhview.models.enums import KijkWijzer, Screen screens = { 'DenHaag_zaal_1': Screen.ONE, diff --git a/fdhview/schemas/__init__.py b/fhdhview/schemas/__init__.py similarity index 100% rename from fdhview/schemas/__init__.py rename to fhdhview/schemas/__init__.py diff --git a/fdhview/schemas/screening.py b/fhdhview/schemas/screening.py similarity index 89% rename from fdhview/schemas/screening.py rename to fhdhview/schemas/screening.py index d9465a1..f304c63 100644 --- a/fdhview/schemas/screening.py +++ b/fhdhview/schemas/screening.py @@ -5,7 +5,7 @@ from datetime import datetime from sqlmodel import SQLModel -from fdhview.models.enums import KijkWijzer, Screen +from fhdhview.models.enums import KijkWijzer, Screen class ScreeningRead(SQLModel): diff --git a/fdhview/services/__init__.py b/fhdhview/services/__init__.py similarity index 100% rename from fdhview/services/__init__.py rename to fhdhview/services/__init__.py diff --git a/fdhview/services/screenwriter/__init__.py b/fhdhview/services/screenwriter/__init__.py similarity index 100% rename from fdhview/services/screenwriter/__init__.py rename to fhdhview/services/screenwriter/__init__.py diff --git a/fdhview/services/screenwriter/importer.py b/fhdhview/services/screenwriter/importer.py similarity index 92% rename from fdhview/services/screenwriter/importer.py rename to fhdhview/services/screenwriter/importer.py index f55cd44..88c0a3c 100644 --- a/fdhview/services/screenwriter/importer.py +++ b/fhdhview/services/screenwriter/importer.py @@ -4,10 +4,10 @@ from sqlmodel import delete from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.models.enums import Screen -from fdhview.models.screening import KijkWijzer, Screening -from fdhview.models.tags import kijkwijzer, screens -from fdhview.services.screenwriter.schema import AAMPos +from fhdhview.models.enums import Screen +from fhdhview.models.screening import KijkWijzer, Screening +from fhdhview.models.tags import kijkwijzer, screens +from fhdhview.services.screenwriter.schema import AAMPos # Delimiters used to attach notes to titles DASH_DELIMITERS = (" - ", " – ", " — ", "- ") diff --git a/fdhview/services/screenwriter/parser.py b/fhdhview/services/screenwriter/parser.py similarity index 91% rename from fdhview/services/screenwriter/parser.py rename to fhdhview/services/screenwriter/parser.py index a8977ec..d32901f 100644 --- a/fdhview/services/screenwriter/parser.py +++ b/fhdhview/services/screenwriter/parser.py @@ -5,7 +5,7 @@ from xml.etree import ElementTree as ET from pydantic import ValidationError -from fdhview.services.screenwriter.schema import AAMPos +from fhdhview.services.screenwriter.schema import AAMPos class XmlParseError(Exception): diff --git a/fdhview/services/screenwriter/schema.py b/fhdhview/services/screenwriter/schema.py similarity index 96% rename from fdhview/services/screenwriter/schema.py rename to fhdhview/services/screenwriter/schema.py index f10b84a..db26383 100644 --- a/fdhview/services/screenwriter/schema.py +++ b/fhdhview/services/screenwriter/schema.py @@ -8,7 +8,7 @@ from zoneinfo import ZoneInfo from pydantic import BeforeValidator from pydantic_xml import BaseXmlModel, RootXmlModel, element, wrapped -from fdhview.core.config import settings +from fhdhview.core.config import settings DT = Annotated[datetime, BeforeValidator(lambda v: datetime.strptime(v, "%Y%m%d%H%M").replace( tzinfo=ZoneInfo(settings.timezone) diff --git a/fdhview/static/Logo.svg b/fhdhview/static/Logo.svg similarity index 100% rename from fdhview/static/Logo.svg rename to fhdhview/static/Logo.svg diff --git a/fdhview/static/fonts/figtree-italic-latin.woff2 b/fhdhview/static/fonts/figtree-italic-latin.woff2 similarity index 100% rename from fdhview/static/fonts/figtree-italic-latin.woff2 rename to fhdhview/static/fonts/figtree-italic-latin.woff2 diff --git a/fdhview/static/fonts/figtree-latin.woff2 b/fhdhview/static/fonts/figtree-latin.woff2 similarity index 100% rename from fdhview/static/fonts/figtree-latin.woff2 rename to fhdhview/static/fonts/figtree-latin.woff2 diff --git a/fdhview/static/info.js b/fhdhview/static/info.js similarity index 100% rename from fdhview/static/info.js rename to fhdhview/static/info.js diff --git a/fdhview/static/kw/12.png b/fhdhview/static/kw/12.png similarity index 100% rename from fdhview/static/kw/12.png rename to fhdhview/static/kw/12.png diff --git a/fdhview/static/kw/14.png b/fhdhview/static/kw/14.png similarity index 100% rename from fdhview/static/kw/14.png rename to fhdhview/static/kw/14.png diff --git a/fdhview/static/kw/16.png b/fhdhview/static/kw/16.png similarity index 100% rename from fdhview/static/kw/16.png rename to fhdhview/static/kw/16.png diff --git a/fdhview/static/kw/18.png b/fhdhview/static/kw/18.png similarity index 100% rename from fdhview/static/kw/18.png rename to fhdhview/static/kw/18.png diff --git a/fdhview/static/kw/6.png b/fhdhview/static/kw/6.png similarity index 100% rename from fdhview/static/kw/6.png rename to fhdhview/static/kw/6.png diff --git a/fdhview/static/kw/9.png b/fhdhview/static/kw/9.png similarity index 100% rename from fdhview/static/kw/9.png rename to fhdhview/static/kw/9.png diff --git a/fdhview/static/kw/al.png b/fhdhview/static/kw/al.png similarity index 100% rename from fdhview/static/kw/al.png rename to fhdhview/static/kw/al.png diff --git a/fdhview/static/kw/angst.png b/fhdhview/static/kw/angst.png similarity index 100% rename from fdhview/static/kw/angst.png rename to fhdhview/static/kw/angst.png diff --git a/fdhview/static/kw/discriminatie.png b/fhdhview/static/kw/discriminatie.png similarity index 100% rename from fdhview/static/kw/discriminatie.png rename to fhdhview/static/kw/discriminatie.png diff --git a/fdhview/static/kw/drugs-en-alcohol.png b/fhdhview/static/kw/drugs-en-alcohol.png similarity index 100% rename from fdhview/static/kw/drugs-en-alcohol.png rename to fhdhview/static/kw/drugs-en-alcohol.png diff --git a/fdhview/static/kw/gevaarlijk-gedrag.png b/fhdhview/static/kw/gevaarlijk-gedrag.png similarity index 100% rename from fdhview/static/kw/gevaarlijk-gedrag.png rename to fhdhview/static/kw/gevaarlijk-gedrag.png diff --git a/fdhview/static/kw/geweld.png b/fhdhview/static/kw/geweld.png similarity index 100% rename from fdhview/static/kw/geweld.png rename to fhdhview/static/kw/geweld.png diff --git a/fdhview/static/kw/seks.png b/fhdhview/static/kw/seks.png similarity index 100% rename from fdhview/static/kw/seks.png rename to fhdhview/static/kw/seks.png diff --git a/fdhview/static/kw/taal.png b/fhdhview/static/kw/taal.png similarity index 100% rename from fdhview/static/kw/taal.png rename to fhdhview/static/kw/taal.png diff --git a/fdhview/static/style.css b/fhdhview/static/style.css similarity index 100% rename from fdhview/static/style.css rename to fhdhview/static/style.css diff --git a/pyproject.toml b/pyproject.toml index 81f131e..2389bef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "fdhview" +name = "fhdhview" version = "0.1.0" description = "Filmhuis Den Haag schedule viewer" authors = [ diff --git a/scripts/inspect_xml.py b/scripts/inspect_xml.py index 8ff6499..4efe870 100644 --- a/scripts/inspect_xml.py +++ b/scripts/inspect_xml.py @@ -3,7 +3,7 @@ from pathlib import Path -from fdhview.services.screenwriter.schema import AAMPos +from fhdhview.services.screenwriter.schema import AAMPos def read_xml(): diff --git a/tests/conftest.py b/tests/conftest.py index b94dbab..0f26578 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -11,8 +11,8 @@ from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine from sqlmodel import SQLModel from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.api.deps import get_session -from fdhview.main import app +from fhdhview.api.deps import get_session +from fhdhview.main import app test_engine = create_async_engine("sqlite+aiosqlite:///:memory:", echo=False) test_session_maker = async_sessionmaker(test_engine, class_=AsyncSession, expire_on_commit=False) diff --git a/tests/test_admin_api.py b/tests/test_admin_api.py index 61d2493..c892243 100644 --- a/tests/test_admin_api.py +++ b/tests/test_admin_api.py @@ -5,7 +5,7 @@ from pathlib import Path from fastapi.testclient import TestClient -from fdhview.core.config import settings +from fhdhview.core.config import settings AUTH = ("username", settings.api_password) diff --git a/tests/test_importer.py b/tests/test_importer.py index b772788..d678bc8 100644 --- a/tests/test_importer.py +++ b/tests/test_importer.py @@ -6,8 +6,8 @@ from pathlib import Path import pytest -from fdhview.services.screenwriter.importer import _clean_title -from fdhview.services.screenwriter.schema import AAMPos +from fhdhview.services.screenwriter.importer import _clean_title +from fhdhview.services.screenwriter.schema import AAMPos def test_xml(): diff --git a/tests/test_screenings_api.py b/tests/test_screenings_api.py index 0c45c50..5d6465c 100644 --- a/tests/test_screenings_api.py +++ b/tests/test_screenings_api.py @@ -7,9 +7,9 @@ from zoneinfo import ZoneInfo import pytest from sqlmodel.ext.asyncio.session import AsyncSession -from fdhview.core.config import settings -from fdhview.models.enums import Screen -from fdhview.models.screening import Screening +from fhdhview.core.config import settings +from fhdhview.models.enums import Screen +from fhdhview.models.screening import Screening @pytest.mark.asyncio