From caf2f6efcab92751f4f5c28f39655345ec8f92fa Mon Sep 17 00:00:00 2001 From: juul Date: Fri, 30 May 2025 11:43:29 +0200 Subject: [PATCH] initial commit --- ATLA.json | 9 ++++++++ IAItem.py | 20 ++++++++++++++++++ Serie.py | 6 ++++++ anubis.json | 9 ++++++++ hha.py | 0 main.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 ATLA.json create mode 100644 IAItem.py create mode 100644 Serie.py create mode 100644 anubis.json create mode 100644 hha.py create mode 100644 main.py diff --git a/ATLA.json b/ATLA.json new file mode 100644 index 0000000..fe232ea --- /dev/null +++ b/ATLA.json @@ -0,0 +1,9 @@ +{ + "title": "", + "description": "Rip of the BeNeLux version of Avatar: The Last Airbender. Includes German, English, French and Dutch audio", + "subject": "nickelodeon,atla,avatar,the last airbender,de legende van aang,Der Herr der Elemente,le dernier maître de l'air,aang", + "creator": "Nickelodeon", + "date": "2005-02-21", + "collection": "opensource_movies", + "mediatype": "movies" +} \ No newline at end of file diff --git a/IAItem.py b/IAItem.py new file mode 100644 index 0000000..4e95f89 --- /dev/null +++ b/IAItem.py @@ -0,0 +1,20 @@ +import json +from dataclasses import dataclass + + +@dataclass +class IAItem: + title: str + description: str + subject: str + creator: str + date: str + collection: str + mediatype: str + + @classmethod + def from_json(cls, json_data): + return cls(**json_data) + + def __call__(self, *args, **kwargs): + return self.__dict__ \ No newline at end of file diff --git a/Serie.py b/Serie.py new file mode 100644 index 0000000..eaee4ef --- /dev/null +++ b/Serie.py @@ -0,0 +1,6 @@ +class Serie: + def __init__(self, titel: str, seizoenen: list[str], baseLocation: str): + self.titel = titel + self.seizoenen = ["DUD"] + seizoenen + self.baseLocation = baseLocation + diff --git a/anubis.json b/anubis.json new file mode 100644 index 0000000..846983f --- /dev/null +++ b/anubis.json @@ -0,0 +1,9 @@ +{ + "title": "", + "description": "DVD rip van de Nickelodeon serie Het Huis Anubis", + "subject": "nickelodeon,het huis anubis,anubis", + "creator": "Nickelodeon", + "date": "2006-09-26", + "collection": "opensource_movies", + "mediatype": "movies" +} \ No newline at end of file diff --git a/hha.py b/hha.py new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/main.py new file mode 100644 index 0000000..04086c9 --- /dev/null +++ b/main.py @@ -0,0 +1,61 @@ +import datetime +import json + +from internetarchive import upload + +from IAItem import IAItem +from Serie import Serie + +anubis = Serie( + "Het Huis Anubis", + [ + "Seizoen 1: De Club van de Oude Wilg", + "Seizoen 2: De mysterieuze vloek", + "Seizoen 3: Het geheim van Winsbrugge-Hennegouwen", + "Seizoen 4: De vloek van Anchesenamon" + ], + "E:/Het Huis Anubis" +) + +def getMetadata(bestand): + with open(bestand, "r") as file: + data = json.load(file) + + item = IAItem.from_json(data) + return item + +def setMetadata(serie, seizoen, volume): + global identifier, files + metadata.title = f"{serie.titel} - {serie.seizoenen[seizoen]}, Volume {volume} (DVD)" + identifier = str(serie.titel).lower().replace(" ", "-") + "-" + str(seizoen) + "-" +str(volume) + files = f"{serie.baseLocation}/Seizoen {seizoen}/Volume {volume}/" + return + +def uploadBestanden(): + time = datetime.datetime.now().strftime("%H:%M:%S") + print(f"Upload gestart om: {time}") + global identifier, files, metadata + r = upload(identifier, files=files, metadata=metadata()) + if r[0].status_code == 200: + print(f"Upload geslaagd: {files}") + else: + print(f"Oei, er is iets fout gegaan: {files}") + time = datetime.datetime.now().strftime("%H:%M:%S") + print(f"Upload beëindigd om {time}") + return + +identifier = "" +files = "" +metadata = getMetadata("anubis.json") + +setMetadata(anubis, 4, 1) +uploadBestanden() + +setMetadata(anubis, 4, 2) +uploadBestanden() + +setMetadata(anubis, 4, 3) +uploadBestanden() + +setMetadata(anubis, 4, 4) +uploadBestanden() \ No newline at end of file