habe eine idee zur vereinigung der satellites.xml, services.xml und myservices.xml zu einer einzigen datei der besseren wartbarkeit und optimierung wegen:
idee 1:
vereinigung aus satellites.xml und services.xml. beide haben ähnliche struktur, vergleichen wir mal:
<?xml version="1.0" encoding="UTF-8"?>
<satellites>
<sat name="19.2E ASTRA 1C,1E,1F,1G,1H,2C" flags="5" position="192"> <!-- last check 2006.04.04, zor -->
<transponder frequency="10773250" symbol_rate="22000000" polarization="0" fec_inner="5"/>
<transponder frequency="10788000" symbol_rate="22000000" polarization="1" fec_inner="5"/> <!-- nit (for 10788V), zor -->
<transponder frequency="10817500" symbol_rate="22000000" polarization="1" fec_inner="5"/> <!-- nit (for 10818V), zor -->
<transponder frequency="10832250" symbol_rate="22000000" polarization="0" fec_inner="5"/> <!-- nit (for 10832H), zor -->
<transponder frequency="10847000" symbol_rate="22000000" polarization="1" fec_inner="5"/> <!-- nit (for 10847V), zor -->
<?xml version="1.0" encoding="UTF-8" ?>
<zapit>
<sat name="Astra 19.2E" diseqc="0" position="0192">
<transponder id="041e" onid="0001" frequency="10788000" inversion="0" symbol_rate="22000000" fec_inner="5" polarization="1">
<channel service_id="768e" name="TAQUILLA 1" service_type="01" />
<channel service_id="768f" name="TAQUILLA 2" service_type="01" />
<channel service_id="7690" name="TAQUILLA 3" service_type="01" />
der grund warum es aus meiner sicht fein wäre die beiden zu vereinigen
ist folgender:
1) das verlust-problem:
in der nit sind ja bekanntlich die transponderinfos zum satelliten enthalten. während bei astra die nit noch halbwegs gut gepflegt ist, ist das überall außerhalb von 19.2E anders. da fehlen in der regel jede menge transponder, sind transponder falsch eingetragen, wechselt die nit von transponder zu transponder etc.
daher hat man in die satellites.xml auch noch die transponder eingetragen (oder zumindest ein paar). das hilft einem beim suchlauf - man findet mehr sender! hat man den sectionsscan am laufen, so kommen mit der zeit vielleicht noch ein paar transponder dazu!
macht man nun aber einen neuen sendersuchlauf, weil der letzte vielleicht schon 3 monate her ist, so wird wieder die nit und die transponder aus der satellites.xml ausgewertet. viele transponder aus der services.xml (welche der sectionsscan mal gefunden hat oder welche mal manuell in die services.xml reingemacht hat) gehen verloren

lösung: sind beide vereinigt, so geht nichts verloren - alles bleibt am aktuellen stand!!
2) das nit-frequenzproblem
viele transponder aus der satellites.xml tragen die lyngsat-frequenz, aber nicht die nit-frequenz. es gibt keine große datenbank (lyngsat, kingofsat, satcodx, etc) welche die nit-frequenzen pflegt!! hat man den sectionsscan am laufen, so kann es passieren, dass der in der services.xml die frequenz auf die nit-frequenz abändert. zb von 10832000 auf 10832250 wie oben angeführt. somit stimmt die frequenz zwischen
services.xml und satellites.xml nicht mehr überein!
lösung: sind beide vereinigt, so wird zugleich die satellites.xml aktualisiert!!
3) es fehlt generell eine kennung, ob es sich nun um eine nit-frequenz handelt, oder um einen manuellen eintrag!
4) eine vereinigung spart platz!
daher mein vorschlag (für einen transponder) wie das ganze aussehen könnte:
<?xml version="1.0" encoding="UTF-8"?>
<satellites>
<sat name="19.2E ASTRA 1C,1E,1F,1G,1H,2C" flags="5" position="192"> <!-- last check 2006.04.04, zor -->
<transponder frequency="10788000" symbol_rate="22000000" polarization="1" fec_inner="5" id="041e" onid="0001" nit="1"/> <!-- nit (for 10788V), zor kann man sich nun sparen -->
<channel service_id="768e" name="TAQUILLA 1" service_type="01" />
<channel service_id="768f" name="TAQUILLA 2" service_type="01" />
<channel service_id="7690" name="TAQUILLA 3" service_type="01" />
ich denke das flags="" könnte man sich sparen. das hat die funktion (soweit ich mich erinnere) festzulegen welche transponder eines satelliten bei einem scan durchsucht werden dürfen. die aus der satellites, die aus der nit, oder beides. an sich ist da immer beides empfehlenswert - man will ja möglichst viel finden! weiß nicht welchen schutz das bieten soll? vielleicht vor korrupten nits, aber das kann man sicher anders auch überprüfen..
eine freude wieviel platz gespart wurde und alles doch irgendwie gleich aussieht! eine nit-kennung bereitet dem bouquetersteller freude! eine neue satellites.xml in einem yadi etwa enthielte nur die satelliten und transponder - die sender sucht sich jeder selbst! vor verloren gegangenen satellites.xml braucht man sich auch nicht zu fürchten, das könnte man ja automatisiert backuppen...
idee 2:
vereinigung aus (services.xml+satellites.xml) und myservices.xml
sehen wir uns auch mal die beiden an!
<?xml version="1.0" encoding="UTF-8"?>
<satellites>
<sat name="19.2E ASTRA 1C,1E,1F,1G,1H,2C" flags="5" position="192"> <!-- last check 2006.04.04, zor -->
<transponder frequency="10788000" symbol_rate="22000000" polarization="1" fec_inner="5" id="041e" onid="0001" nit="1"/>
<channel service_id="768e" name="TAQUILLA 1" service_type="01" />
<channel service_id="768f" name="TAQUILLA 2" service_type="01" />
<channel service_id="7690" name="TAQUILLA 3" service_type="01" />
<?xml version="1.0" encoding="UTF-8" ?>
<zapit>
<sat name="Astra 19.2E" diseqc="0">
<transponder id="041e" onid="0001" frequency="10788000" inversion="2" symbol_rate="22000000" fec_inner="5" polarization="1">
<channel service_id="768e" action="replace" name="Taquilla 1 ESP/ORG" service_type="01" />
<channel service_id="768f" action="replace" name="Taquilla 2 ESP/ORG" service_type="01" />
<channel service_id="7690" action="replace" name="Taquilla 3 ESP/ORG" service_type="01" />
<channel service_id="7691" action="replace" name="Taquilla 4 ESP/ORG" service_type="01" />
sehen ja auch verdammt ähnlich aus. nun was gibt es da für probleme:
1) platzbedarf
alleine an diesem kurzem bsp erkennt man deutlich wieviel mehr an platz
man benötigt, wenn man jeden sender umbenennt. das macht sicher nicht
jeder, aber mir (und vielen nutzern meiner listen) gefällt das sehr gut!
2) die übersicht
ich bin ein bouquetlisteersteller vom alten schlag, mache alles manuell!
nun habe ich dann links die services und rechts die myservices und dann
wird rechts und links nach oben und unten verschoben. bis halt alles
paßt. schön wärs, würde alles in dergleichen zeile geschehen..
3) altlasten in den bouquets
des öfteren mache ich einen sendersuchlauf nach welchem dann manche
sender aus der services rausfliegen. da ich fast alle sender umbenenne
habe ich dann noch den eintrag in der myservices drinnen. über das log
findet man dann zwar raus, was nicht paßt, aber ist auch nicht elegant.
schlimm sind sender, welche einfach ihren namen ändern, aber nicht die
sid. das bekommt man in der regel nämlich gar nicht mit. ob's da nicht
eine feine lösung gäbe?
jetzt mein vorschlag für eine komplett vereinigte senderliste:
<?xml version="1.0" encoding="UTF-8"?>
<satellites>
<sat name="19.2E ASTRA 1C,1E,1F,1G,1H,2C" flags="5" position="192"> <!-- last check 2006.04.04, zor -->
<transponder frequency="10788000" symbol_rate="22000000" polarization="1" fec_inner="5" id="041e" onid="0001" nit="1"/> <!-- nit (for 10788V), zor kann man sich sparen -->
<channel action="" service_id="" name="" rename="" service_type="" real_service_type=""/>
<channel action="" service_id="" name="" rename="" service_type=""/>
<channel action="" service_id="" name="" rename="" service_type=""/>
auf den ersten blick werden hier die probleme 1 und 2 gelöst. das ganze
ist kompakt und übersichtlich! interessant ist das action="", zu welchem
ich mir ein wenig was überlegt habe. es ist anders als das action="",
welches in der myservices.xml verwendet wird!
action="check"
hier gabs eine änderung - bitte checken! wird vom scan erzeugt! durch das check-flag ist die sid somit geschützt und sichtbar(oder besser rename="" und real_service_type="" sind geschützt) selbst bei fehlender kennung soll das check-flag bleiben. entspricht also einem "fixed", soll aber dazu anregen nachzusehen..name="" und service_type="" dürfen natürlich verändert werden.
kommt also ein sender hinzu oder weg wird action="check" eingefügt. ändert ein sender die kennung so wird ebenfalls action="check" eingefügt! löst somit problem 3
action="ignore" ignoriert eine sid permanent. selbst wenn die kennung nicht mehr da ist. es gibt so "lästige" sender die permanent auftauchen und dann wieder weg sind, aber im grunde unnötig sind.. entspricht dem action="remove" (rename="" ist geschützt, damit der bouquetmeister der wechselnden kennung einen namen geben kann) name="" und service_type="" dürfen natürlich verändert werden
action="penalty" (vergibt eine strafzeit) ignoriert einen sender solange bis es eine änderung bei name="" oder service_type="" gibt! name="" und service_type="" würden dann überschrieben, rename= und real_service_type= aber nicht. nach der änderung wird action="check" gesetzt. der eintrag entspricht einem remove auf zeit
action="fixed" fester eintrag, zb bsp premiere feed, wo mal eine kennung da ist und dann wieder nicht. entspricht einem action="add" (rename="" und real_service_type="" sind geschützt). eine änderung bei name= oder service_type= ruft kein action="check" hervor.
ein paar weitere bemerkungen:
das action="replace" wo immer name und service_type zugleich überschrieben werden kann man sich sparen, da entweder name oder service_type überschrieben werden (man denke nur wie selten der service_type verändert werden muss)...man denke weiters, dass man für die myservices keine transponder mehr erstellen muss...
rename="" real_service_type=""
erklären sich wohl von selbst. name und service_type bleiben immer drinnen, damit man in einer zeile immer vergleichen kann was man verändert hat. das ist das allerschönste für einen bouquetersteller wie mich ;-)
bei rename könnte man sogar was von den enigma-senderlisten übernehmen - und zwar, dass 2 namen in einem dargestellt werden können:
rename="{Premiere 1{ D/ORG}}" kann heißen:
Premiere 1 - short
Premiere 1 D/ORG - long
ich meine, dass so vieles vereinfacht würde. ich schätze mal grob den arbeitsaufwand für den ersten schritt, der vereinigung von satellites.xml und services.xml, nicht als sehr groß ein, da ja "nur" eine andere datei geparst werden muss. hoffentlich sehe ich das nicht zu einfach ;-)
der 2.schritt sollte vom parsen her nicht schlimm sein, aber das umgestalten der action="" würde wohl mehr zeit in anspruch nehmen.
nun, nach so vielen vorschlägen auf einmal und der ganzen euphorie meinerseits lasse ich euch devs zu wort kommen...
gruss zor