Tombay1969
Freak
- Registriert
- 25. Juli 2009
- Beiträge
- 290
- Reaktionspunkte
- 27
- Punkte
- 310
Die hatten lieber was am Cache gemacht was die schon länger wissen, der füllt sich bis zu 150mb von jetzt auf gleich wenn man z.b. ein Portal hinzufügt z.b.
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
nicht für neues zu haben so lange du das nicht gut findest.
Und woher weißt du das? Erfahrungswerte, oder?!Ausserdem war das mit den 30 Minuten nur ein Bsp . Es gibt auch Sendungen wo es 45 Minuten wären oder auch welche mit 15 Minuten
import xml.etree.ElementTree as ET
from datetime import datetime, timedelta
RULES = [
{"channel": "Sky Sport F1 DE", "shift": 30, "match": "Vorbericht"}, # Vorberichte später starten
{"channel": "Sky Sport F1 DE", "shift": 1, "match": "Rennen"}, # Rennen leicht nach hinten
{"channel": "Sky Sport F1 DE", "shift": -2, "match": "Qualifying"}, # Qualifying 2 Minuten früher
{"channel": "Sky Sport F1 DE", "shift": 5, "match": "Training"}, # Training 5 Minuten später
{"channel": "Sky Sport F1 DE", "shift": 0, "match": "Warm Up"}, # Warm Up unverändert
{"channel": "Sky Sport F1 DE", "shift": 10, "match": "Highlights"}, # Highlights etwas später
{"channel": "Sky Sport F1 DE", "shift": 0, "match": "Pressekonferenz"}, # PK unverändert
{"channel": "Sky Sport F1 DE", "shift": -1, "match": "Grid"}, # Grid Walk 1 Minute früher
{"channel": "Sky Sport F1 DE", "shift": 2, "match": "Siegerehrung"}, # Podium leicht nach hinten
{"channel": "Sky Sport F1 DE", "shift": 0, "match": "Analyse"}, # Studioanalyse normal
{"channel": "DAZN 1 DE", "shift": 15, "match": ""},
{"channel": "ServusTV DE", "shift": 10, "match": "Countdown"},
{"channel": "Sky Sport Bundesliga 1 DE", "shift": 20, "match": "Bundesliga"},
{"channel": "Eurosport 1 DE", "shift": 5, "match": ""},
{"channel": "RTL DE", "shift": 25, "match": "Formel 1"},
{"channel": "ProSieben DE", "shift": -5, "match": "NFL"},
{"channel": "Sky Sport UHD DE","shift": 30, "match": "Vorbericht"},
{"channel": "Magentasport DE", "shift": 15, "match": "Eishockey"},
{"channel": "Sky Cinema DE", "shift": 0, "match": ""}, # keine Änderung
]
INPUT_XML = "epg.xml"
OUTPUT_XML = "epg_modified.xml"
def shift_time(timestr: str, minutes: int) -> str:
"""Verschiebt XMLTV Zeit um Minuten."""
dt_str, tz = timestr.split(" ")
dt = datetime.strptime(dt_str, "%Y%m%d%H%M%S")
dt_shifted = dt + timedelta(minutes=minutes)
return dt_shifted.strftime("%Y%m%d%H%M%S") + " " + tz
def main():
tree = ET.parse(INPUT_XML)
root = tree.getroot()
total = 0
for prog in root.findall("programme"):
channel = prog.attrib.get("channel", "")
title_el = prog.find("title")
title = title_el.text if title_el is not None else ""
for rule in RULES:
if channel != rule["channel"]:
continue
if rule["match"] and rule["match"].lower() not in title.lower():
continue
old_start, old_stop = prog.attrib["start"], prog.attrib["stop"]
prog.attrib["start"] = shift_time(old_start, rule["shift"])
prog.attrib["stop"] = shift_time(old_stop, rule["shift"])
total += 1
break # Regel angewendet → nächste Sendung
tree.write(OUTPUT_XML, encoding="utf-8", xml_declaration=True)
print(f"{total} Sendungen angepasst. Neue Datei: {OUTPUT_XML}")
if __name__ == "__main__":
main()
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Das Digital Eliteboard ist ein kostenloses Forum und ist auf Spenden angewiesen, um sich auch in Zukunft selbst zu finanzieren. Wenn auch du mit dem Digital Eliteboard zufrieden bist, würden wir uns über jede Unterstützung freuen.
Hier kannst du uns unterstützen SPENDEN