diff --git a/serien_checker.py b/serien_checker.py
index 6eeab6f..1f8063f 100644
--- a/serien_checker.py
+++ b/serien_checker.py
@@ -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 | Source auf PonyGit')
+ info_label = QLabel('v1.1 | © Akamaru | Source auf PonyGit')
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]