Files

75 lines
1.7 KiB
Python

from datetime import UTC, datetime, timedelta
from random import randint, sample
from zoneinfo import ZoneInfo
from faker import Faker
from faker.providers import company
from fhdhview.services.screenwriter.schema import AAMPos, Session, Sessions
fake = Faker()
fake.add_provider(company)
zaal = [
"DenHaag_zaal_1",
"DenHaag_zaal_2",
"DenHaag_zaal_3",
"DenHaag_zaal_4",
"DenHaag_zaal_5",
"DenHaag_zaal_6",
"Filmhuis Den Haag 10 (buitenbios)"
]
kw_age = [
"vanaf 6 jaar",
"vanaf 9 jaar",
"vanaf 12 jaar",
"vanaf 14 jaar",
"vanaf 18 jaar",
"Alle leeftijden"
]
kw_keywords = [
"Angst",
"Discriminatie",
"Drugs- en/of alcoholmisbruik",
"Grof taalgebruik",
"Gevaarlijk gedrag",
"Geweld",
"Seks"
]
attr_extra = [
"EN subs"
]
sessions: list[Session] = []
for i in range(20):
start_time = datetime.now(tz=ZoneInfo("Europe/Amsterdam"))+timedelta(minutes=randint(-20, 59))
attrs = sample(kw_age, 1) + sample(kw_keywords, randint(0, 3)) + sample(attr_extra, randint(0, 1))
session = Session(
session_id=randint(1000, 9999),
screen_identifier=sample(zaal, 1)[0],
complex_identifier="Filmhuis Den Haag",
start=start_time,
end=start_time+timedelta(hours=2),
feature_duration=int(timedelta(hours=2).total_seconds()),
title=fake.catch_phrase(),
rating=randint(1, 10),
seats_available=100,
seats_sold=randint(0, 100),
attributes=attrs
)
sessions.append(session)
xml_data = AAMPos(sessions=Sessions(root=sessions))
with open("test_xml.xml", "wb") as f:
result = xml_data.to_xml(pretty_print=True)
f.write(result if isinstance(result, bytes) else result.encode("utf-8"))