rename project to fhdhview
This commit is contained in:
1 parent
c4d3b6b292
commit
6755875938
51 files changed
+39
-39
No files matched your search
Whitespace-only changes.
@@ -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"
|
||||
@@ -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]
|
||||
@@ -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'
|
||||
]
|
||||
Reference in new issue
Block a user