Füge Unterstützung für deutsche Synchronfassungen hinzu und aktualisiere die Datumspräferenzen.

This commit is contained in:
Akamaru
2025-07-30 13:20:23 +02:00
parent f6f65696c6
commit 03c3ba2285

View File

@@ -80,7 +80,7 @@ class NewSeriesDialog(QDialog):
# Datumspräferenz
self.date_pref = QComboBox()
self.date_pref.addItems(["Bevorzuge Erstausstrahlung", "Bevorzuge TV", "Bevorzuge Streaming"])
self.date_pref.addItems(["Bevorzuge Erstausstrahlung", "Bevorzuge TV", "Bevorzuge Streaming", "Bevorzuge deutsche Synchro"])
settings_layout.addRow("Datum Präferenz:", self.date_pref)
settings_group.setLayout(settings_layout)
@@ -190,7 +190,7 @@ class SeriesEditDialog(QDialog):
left_layout.addWidget(list_group)
# Info Label
info_label = QLabel('v1.0 | © Akamaru | <a href="https://git.ponywave.de/Akamaru/Serien-Checker">Source auf PonyGit</a>')
info_label = QLabel('v1.1 | © Akamaru | <a href="https://git.ponywave.de/Akamaru/Serien-Checker">Source auf PonyGit</a>')
info_label.setOpenExternalLinks(True) # Erlaubt das Öffnen des Links
info_label.setTextFormat(Qt.RichText) # Aktiviert HTML-Formatierung
left_layout.addWidget(info_label)
@@ -221,7 +221,7 @@ class SeriesEditDialog(QDialog):
# Datumspräferenz
self.date_pref = QComboBox()
self.date_pref.addItems(["Bevorzuge Erstausstrahlung", "Bevorzuge TV", "Bevorzuge Streaming"])
self.date_pref.addItems(["Bevorzuge Erstausstrahlung", "Bevorzuge TV", "Bevorzuge Streaming", "Bevorzuge deutsche Synchro"])
settings_layout.addRow("Datum Präferenz:", self.date_pref)
# Speichern Button für Einstellungen
@@ -489,6 +489,7 @@ class SerienChecker(QMainWindow):
try:
tv_date = None
streaming_date = None
synchro_date = None
# Suche nach allen deutschen Premieren
for ea_angabe in episode.find_all('ea-angabe'):
@@ -499,21 +500,24 @@ class SerienChecker(QMainWindow):
titel = titel_elem.text.strip()
logging.debug(f"Gefundene Premiere: {titel}")
if "Deutsche" in titel:
datum_elem = ea_angabe.find('ea-angabe-datum')
if datum_elem:
date_str = datum_elem.text.strip()
if '. ' in date_str:
date_str = date_str.split('. ', 1)[1]
parsed_date = self.parse_date(date_str)
if parsed_date:
if "TV-Premiere" in titel:
tv_date = (parsed_date, date_str)
logging.debug(f"Deutsche TV-Premiere gefunden: {date_str}")
elif "Streaming-Premiere" in titel:
streaming_date = (parsed_date, date_str)
logging.debug(f"Deutsche Streaming-Premiere gefunden: {date_str}")
# Prüfe auf deutsche Daten
datum_elem = ea_angabe.find('ea-angabe-datum')
if datum_elem:
date_str = datum_elem.text.strip()
if '. ' in date_str:
date_str = date_str.split('. ', 1)[1]
parsed_date = self.parse_date(date_str)
if parsed_date:
if "TV-Premiere" in titel and "Deutsche" in titel:
tv_date = (parsed_date, date_str)
logging.debug(f"Deutsche TV-Premiere gefunden: {date_str}")
elif "Streaming-Premiere" in titel and "Deutsche" in titel:
streaming_date = (parsed_date, date_str)
logging.debug(f"Deutsche Streaming-Premiere gefunden: {date_str}")
elif "deutschen Synchronfassung" in titel:
synchro_date = (parsed_date, date_str)
logging.debug(f"Deutsche Synchro-Premiere gefunden: {date_str}")
# Hole die Datumspräferenz für diese Serie
current_series = self.series_list.currentItem()
@@ -523,18 +527,31 @@ class SerienChecker(QMainWindow):
else:
pref = "Bevorzuge Erstausstrahlung"
# Prüfe zuerst auf Synchro-Präferenz
if pref == "Bevorzuge deutsche Synchro":
if synchro_date:
result = synchro_date[1]
logging.debug(f"Synchro-Premiere gewählt: {result}")
return result
else:
logging.debug("Keine Synchro-Premiere gefunden, zeige TBA")
return "TBA"
# Andere Präferenzen
if pref == "Bevorzuge TV" and tv_date:
result = tv_date[1]
logging.debug(f"TV-Premiere gewählt: {result}")
elif pref == "Bevorzuge Streaming" and streaming_date:
result = streaming_date[1]
logging.debug(f"Streaming-Premiere gewählt: {result}")
else: # Bevorzuge Erstausstrahlung oder wenn bevorzugtes Datum nicht verfügbar
else: # Bevorzuge Erstausstrahlung
dates = []
if tv_date:
dates.append(tv_date)
if streaming_date:
dates.append(streaming_date)
if synchro_date:
dates.append(synchro_date)
if dates:
result = min(dates, key=lambda x: x[0])[1]