Füge Unterstützung für deutsche Synchronfassungen hinzu und aktualisiere die Datumspräferenzen.
This commit is contained in:
@@ -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]
|
||||
|
Reference in New Issue
Block a user