rename project to fhdhview

This commit is contained in:
dreamer committed 2026-10-19 16:01:27 +02:00
1 parent c4d3b6b292
commit 6755875938
51 files changed
+39 -39

No files matched your search

View File
Whitespace-only changes.
+31
View File
@@ -0,0 +1,31 @@
# SPDX-FileCopyrightText: 2026 Filmhuis Den Haag
# SPDX-License-Identifier: AGPL-3.0-or-later
from enum import Enum
class KijkWijzer(str, Enum):
ZES = "6"
NEGEN = "9"
TWAALF = "12"
VEERTIEN = "14"
ZESTIEN = "16"
ACHTTIEN = "18"
ALLE = "al"
ANGST = "angst"
DISCRIMINATIE = "discriminatie"
DRUGS = "drugs-en-alcohol"
GROF = "taal"
GEDRAG = "gevaarlijk-gedrag"
GEWELD = "geweld"
SEKS = "seks"
class Screen(str, Enum):
ONE = "1"
TWO = "2"
THREE = "3"
FOUR = "4"
FIVE = "5"
SIX = "6"
TEN = "10"
+38
View File
@@ -0,0 +1,38 @@
# SPDX-FileCopyrightText: 2026 Filmhuis Den Haag
# SPDX-License-Identifier: AGPL-3.0-or-later
from datetime import datetime
import sqlalchemy as sa
from pydantic import field_serializer, field_validator
from sqlmodel import Field, SQLModel
from fhdhview.models.enums import KijkWijzer, Screen
class Screening(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
session: int
screen: Screen = Field(default=Screen.ONE, sa_column=sa.Column(sa.Enum(Screen)))
complex_ident: str
start: datetime
end: datetime
duration: int
title: str
rating: int
seats_total: int
seats_sold: int
en_subs: bool = False
intro: bool = False
outro: bool = False
kijkwijzer: list[KijkWijzer] = Field(default_factory=list, sa_type=sa.JSON)
tags: list[str] = Field(default_factory=list, sa_type=sa.JSON)
@field_validator("kijkwijzer", mode="before")
@classmethod
def _coerce(cls, v):
return [r.value if isinstance(r, KijkWijzer) else r for r in v]
@field_serializer("kijkwijzer")
def _serialize(self, v: list[KijkWijzer]) -> list[str]:
return [r.value if isinstance(r, KijkWijzer) else r for r in v]
+63
View File
@@ -0,0 +1,63 @@
# SPDX-FileCopyrightText: 2026 Filmhuis Den Haag
# SPDX-License-Identifier: AGPL-3.0-or-later
from fhdhview.models.enums import KijkWijzer, Screen
screens = {
'DenHaag_zaal_1': Screen.ONE,
'DenHaag_zaal_2': Screen.TWO,
'DenHaag_zaal_3': Screen.THREE,
'DenHaag_zaal_4': Screen.FOUR,
'DenHaag_zaal_5': Screen.FIVE,
'DenHaag_zaal_6': Screen.SIX,
'Filmhuis Den Haag 10 (buitenbios)': Screen.TEN
}
kijkwijzer = {
'vanaf 6 jaar': KijkWijzer.ZES,
'vanaf 9 jaar': KijkWijzer.NEGEN,
'vanaf 12 jaar': KijkWijzer.TWAALF,
'vanaf 14 jaar': KijkWijzer.VEERTIEN,
'vanaf 16 jaar': KijkWijzer.ZESTIEN,
'vanaf 18 jaar': KijkWijzer.ACHTTIEN,
'Alle leeftijden': KijkWijzer.ALLE,
'Angst': KijkWijzer.ANGST,
'Discriminatie': KijkWijzer.DISCRIMINATIE,
'Drugs- en/of alcoholmisbruik': KijkWijzer.DRUGS,
'Grof taalgebruik': KijkWijzer.GROF,
'Gevaarlijk gedrag': KijkWijzer.GEDRAG,
'Geweld': KijkWijzer.GEWELD,
'Seks': KijkWijzer.SEKS
}
extra_tags = [
'2D',
'Action',
'Adventure',
'Animation',
'Biographie',
'Comedy',
'Crime',
'Documentary',
'Drama',
'EN subs',
'Family film',
'Family',
'Fantasy',
'Festival',
'Horror',
'Kids film',
'Kids',
'LGBTQ+',
'Met muziek',
'Romantic',
'Science fiction',
'Sciencefiction',
'Thriller',
'Voorfilm',
'War',
'with after talk',
'with introduction'
]