Jump to content

EPGImporter


kuehnch

Recommended Posts

Achtung: der EPGImporter wird derzeit nicht mehr weiter entwickelt und kommt in alle Verfügbaren Versionen nicht mit umlauten zurecht.
Ein funktionierendes Tool für den EPG Import ist derzeit Xepg Auto Import XMLTV
http://www.DVBViewer.tv/forum/topic/20539-xepg/


Der EPGImporter stellt eine kleine, eigenständige Anwendung dar, welche neben DVBViewer betrieben werden kann, um EPG-Informationen aus beliebigen Datenquellen (DataSources) in DVBViewer zu importieren.

DVBViewer erlaubt standardmäßig nur den Empfang und die Verwendung der EPG-Daten, welche im digitalen TV-Datenstrom mitgesendet werden (EIT). Bei vielen Sendern stellt dies nicht unbedingt eine Einschränkung dar, weil die Daten qualitativ hochwertig sind und in ausreichendem Maße vorliegen. Es gibt dann jedoch auch die TV-Sender, für welche kaum oder garkeine EPG-Daten angeboten werden. Hier setzt der EPGImporter an, der es nun erlaubt, die Lücken im EPG durch Daten aus anderen Quellen, z.B. dem Internet, zu beziehen. Alternativ kann der EPGImporter den EIT-EPG auch vollständig ersetzen, wenn die Qualität der EPG-Daten der Datenquellen, von welchen EPGImporter seine Daten erhält, höher ist, als die der EIT-EPG-Daten.

EPGImporter.jpg

Der EPGImporter wurde bewusst modular aufgebaut. Der EPGImporter selbst besitzt zunächst mal keinerlei Kenntnis, wo er EPG-Daten findet und wie er sie beziehen kann. Stattdessen lassen sich für den EPGImporter sogenannte "DataSource-Module" entwickeln, welche den EPGImporter dann mit den Daten der jeweils von ihnen unterstützten Datenquelle bedienen. Der EPGImporter selbst übernimmt nur noch die Zuordnung der EPG-Daten zu den richtigen DVBViewer-Kanälen (das Channel-Mapping).

Da der EPGImporter ohne jegliches DataSource-Modul ziemlich nutzlos ist, wird der EPGImporter zusammen mit dem DataSource-Modul "Clickfinder-Importer" ausgeliefert, welches den Import von EPG-Daten aus dem TVMovie Clickfinder ( www.clickfinder.de ) erlaubt.

Weitere Infos finden sich in einem kleinen PDF, was den EPGImporter nochmals beschreibt. Hier nun eine Liste aller verfügbarer Ressourcen:

Für Anwender
http://www.0xFF.de/files/EPGImporter/EPGImporter.zip
http://www.0xFF.de/files/EPGImporter/EPGImporter.pdf
http://www.0xFF.de/files/EPGImporter/TVMovieDataSource.zip

Für Entwickler
http://www.0xFF.de/files/EPGImporter/EPGImporter_src.zip
http://www.0xFF.de/files/EPGImporter/TVMov...aSource_src.zip
http://www.0xFF.de/files/EPGImporter/EPGIm...Development.pdf

Voraussetzungen
DVBViewer 3.50.120+
TVMovie Clickfinder 5.20+ (nur, wenn das Clickfinder-Importer DataSource-Modul verwendet wird)
.NET Framework 2.0

Die Inbetriebnahme ist eigentlich recht simpel. Das EPG-Importer ZIP-Paket wird entpackt und DVBViewer wird gestartet. Dann wird die EPGImporter.exe ausgeführt. Nun muss noch mindestens ein DataSource-Modul in den EPGImporter geladen werden. Um den Clickfinder-Importer zu verwenden, ist das Zip-Archiv TVMovieDataSource.zip zu entpacken (es wird eine DLL-Datei entpackt). Dann wird im EPGImporter zum Reiter "DataSource-Modules" gewechselt und über den Add-Button die zuvor entpackte DLL-Datei ausgewählt. Wenn Clickfinder korrekt installiert ist, erscheint das Modul dann in der Modulliste und des können Mappings angelegt werden (Save-Knopf drücken nicht vergessen nach dem Einrichten...). Sollte das Modul nicht in der Liste auftauchen, so ist bei der Modulinitialisierung wohl ein Fehler aufgetreten. Genaueres kann dann der Logdatei error.log entnommen werden, welche sich im Anwendungsverzeichnis befindet.

Eine von jErk` aktualisierte Version gibt es hier: http://dajerk.de/EPGImporter/index.asp

EPGImporter.pdf

EPGImporter.rar

EPGImporter_Development.pdf

EPGImporter_src.zip

TVMovieDataSource_src.zip

Link to comment
  • Replies 399
  • Created
  • Last Reply

Top Posters In This Topic

  • xarko

    57

  • jErk`

    46

  • tbuk00

    36

  • kuehnch

    27

Top Posters In This Topic

Posted Images

Versuch den Download nochmal. Unter DataSourceModules sollte dann eine TVMovieDataSource.dll liegen. Und der TVMovie-Clickfinder muss natürlich installiert sein, damit das Modul funktioniert.

Edited by kuehnch
Link to comment

Ach so..

unter der folgenden Adresse gibt es noch ein von mir vorbereitetes Genre-Mapping, denn Clickfinder bietet knapp 300 Genres an, welche erstmal zugeordnet sein wollen, damit eine "Actionkomödie" dann später in DVBViewer auch als "Komödie" auftaucht usw.:

 

http://www.0xFF.de/files/EPGImporter/click...enremapping.zip

 

Einfach die enthaltene XML-Datei ins EPGImporter-Verzeichnis entpacken. Dann entweder den EPGImporter neu starten oder rechts auf eine Genremapping-Liste klicken und aus dem Kontextmenü "Reload" auswählen, damit die Listen neu aufgebaut werden.

Edited by kuehnch
Link to comment

Mini-Update der Bibliothek auf v.0.7.5.2

 

-- Ein temporärer Fix für die EventID aufgrund eines DVBViewer-Fehlers wurde wieder entfernt, weil das Problem mittlererweile beseitigt ist und der Fix scheinbar für Datenverlust sorgt.

 

Anwendung des Updates

ZIP-Archiv laden, EPGImporterApp beenden und Archiv über die bisherige Installation entpacken. Alle Dateien dabei ersetzen lassen. Die Konfigurationen bleiben unangetastet.

Optimalerweise sollten alle vom EPGImporter im DVBViewer-Images-Ordner abgelegten Bilder (######-yyy.jpg) einmal entfernt werden, da sich die zukünftigen Bildbezeichnungen durch die Änderung verändern.

Link to comment

Hallo Kuehnch,

der Datenimport klappt bei mir über Clickfinder ganz hervorragend (Danke noch mal !!!!!)

Ich habe aber doch noch ein paar Fragen:

 

1. Bilder werden bei mir zwar importiert (Flag ist so gesetzt) und auch unter Images abgespeichert, aber

mir ist im Moment nicht klar, wo ich die Bilder im DVBViewer sehe kann (verwende den NewDef OSD-Skin).

 

2. Beim starten des EPGImporters muß der DVBViewer laufen. Gilt das auch für den Import über

Scheduler? (Ich bin sicher später gibt es in Deinem tollen Programm auch die Möglichkeit über

einen "geplanten Task" die ganze Aktualisierung automatisch nach den Scheduler-Daten ablaufen zu

lassen :) )

 

3. Beim Kanalwechsel lasse ich mir immer kurz die EPG-Daten anzeigen (Option im DVBViewer gesetzt),

aber nach einem kurzen aufblitzen der Titel, kommt die Meldung "Keine Daten vorhanden". Hat zwar

mit ziemlicher Sicherheit nichts mit Deinem Importer zu tun, aber vielleicht weißt Du voran das liegt

(Option im DVBViewer stehen bei mir auf "EPG-Daten speichern aber nicht lesen")

 

 

Gruß,

Holger

Link to comment

@kuehnch:

 

Hi Christoph! Hab die beta 120 und deinen aktuellen Importer im Einsatz. Bilder vorher gelöscht. EPG nicht importieren an. Einige Bilder werden angezeigt (habe auf 7 oder 8 Sendern nachgesehen) - aber bei weitem nicht alle vorhandenen Bilder.

Beispiel:

Morgen Abend/Sonntag, 20:15, "Unterwegs nach Cold Mountain":

- "gefordertes" #EPG.image = 989-28765.jpg

- tatsächliches, passendes Bild im Image-Ordner: 989-7194298.jpg

 

 

@mytai2

 

Hi Holger!

Ad 1) Dazu musst Du über den OSD-Skin-Editor (Downoad auf Homepage) auf der gewünschten OSD-Seite ein Image-Element hinzufügen. Als Dateinamen gibst du ein: #EPG.image

Das Bild des jeweils selektierten EPG-Items wird dann hier angezeigt.

Link to comment
1. Bilder werden bei mir zwar importiert (Flag ist so gesetzt) und auch unter Images abgespeichert, aber

mir ist im Moment nicht klar, wo ich die Bilder im DVBViewer sehe kann (verwende den NewDef OSD-Skin).

 

2. Beim starten des EPGImporters muß der DVBViewer laufen. Gilt das auch für den Import über

Scheduler? (Ich bin sicher später gibt es in Deinem tollen Programm auch die Möglichkeit über

einen "geplanten Task" die ganze Aktualisierung automatisch nach den Scheduler-Daten ablaufen zu

lassen :) )

 

3. Beim Kanalwechsel lasse ich mir immer kurz die EPG-Daten anzeigen (Option im DVBViewer gesetzt),

aber nach einem kurzen aufblitzen der Titel, kommt die Meldung "Keine Daten vorhanden". Hat zwar

mit ziemlicher Sicherheit nichts mit Deinem Importer zu tun, aber vielleicht weißt Du voran das liegt

(Option im DVBViewer stehen bei mir auf "EPG-Daten speichern aber nicht lesen")

 

1. Du musst hier noch selbst kurz Hand anlegen, indem du den Skineditor benutzt, welchen du in der Download-Sektion findest. Du öffnest mit dem Editor dann den OSD-Skin, welchen du bearbeiten möchtest. Dann öffnest du die Seite "MyEPG", welche die Seite darstellt, welche angezeigt wird, wenn du Details zu einer

Sendung sehen möchtest. Hier verschaffst du dir zunächst mal Platz für das Bild, indem du z.B. die Beschreibung etwas verkleinerst. Dann fügst du ein neues Image-Element hinzu. Die ControlID des neuen Image-Elements setzt du auf 1, während du den FileName auf #EPG.image setzt.

 

2. Du kannst den EPGImporter einfach nebenbei laufen lassen, auch wenn DVBViewer nicht läuft. Soll dann importiert werden, weil ein Zeitplan aktiv wird, so wird auch festgestellt, dass DVBViewer nicht läuft und die Aktion entsprechend abgebrochen. Der EPGImporter puffert die von einem DataSource-Modul erhaltenen Daten auch nicht zwischen. Das ist eine Idee, welche ich selbst so bisher garnicht betrachtet hatte. Ob der Nutzen den Aufwand eines solchen Pufferungsmechanismus aufwiegt, muss ich mir mal genauer überlegen.

 

3. Kann ich sporadisch auch feststellen, weiß allerdings auch nicht, woran das liegt. Vielleicht versucht DVBViewer aus Performance-Gründen hier prinzipiell erstmal auf die Now/Next-Daten aus dem EIT zuzugreifen, anstatt die EPG-Datenbank zu befragen. Also kA...

 

Einige Bilder werden angezeigt (habe auf 7 oder 8 Sendern nachgesehen) - aber bei weitem nicht alle vorhandenen Bilder.

Beispiel:

Morgen Abend/Sonntag, 20:15, "Unterwegs nach Cold Mountain":

- "gefordertes" #EPG.image = 989-28765.jpg

- tatsächliches, passendes Bild im Image-Ordner: 989-7194298.jpg

Das Problem ist behoben. Ich vermute mal, dass du nun noch alte Datensätze in der DVBViewer-EPG-Datenbank hast. Beende DVBViewer mal, lösche die Dateien epg.dat/epg.bak aus dem DVBViewer-Verzeichnis (sofern vorhanden) und starte DVBViewer neu. Nun lässt du den EPGImporter nochmal importieren.

Link to comment

@ kuehnch: Der Übersichtlichkeit halber, würde ich bei den PDFs noch ein Inhaltsverzeichnis anlegen. Ansonsten eine wirkliche tolle Dokumentation, enthält alles was zum Betrieb des Plugins notwendig ist.

Kann ich mit dem Tool auch webbasierte EPG-Daten ohne eine Anwendung, wie z.B. TV Info, empfangen/einrichten oder brauche ich dazu generell eine Anwendung?

Edited by Filico
Link to comment

Das war's! Vielen Dank! Sieht ja sowas von genial aus!

Daaaaanke-danke!

 

Frage:

wenn du oder jemand anders ein weiteres Modul zum downoad von EPG-Daten erstellt, kann man dann einstellen, ob bereits bestehende Daten überschrieben werden oder nur nicht vorhandene ergänzt werden? Gleiche Frage bzgl. Bildern oder Bewertungen.

Link to comment
Der Übersichtlichkeit halber, würde ich bei den PDFs noch ein Inhaltsverzeichnis anlegen. Ansonsten eine wirkliche tolle Dokumentation, enthält alles was zum Betrieb des Plugins notwendig ist.

Das soll auch noch kommen. Aber die PDFs sind genauso im Beta-Status, wie der EPGImporter an sich.

 

Kann ich mit dem Tool auch webbasierte EPG-Daten ohne eine Anwendung, wie z.B. TV Info, empfangen/einrichten oder brauche ich dazu generell eine Anwendung?

Der EPGImporter ist nicht abhängig von der Art der Datenquelle. Wie geschrieben sind es die DataSource-Module, die die EPG-Daten zu besorgen haben. Wie sie das tun, ist dem EPGImporter schnuppe. Wenn also jemand meint, dass er TVinfo-Unterstützung haben möchte, so kann er ein DataSource-Modul schreiben, was die EPG-Daten direkt aus dem Internet lädt. Nachdem das Modul dann die Daten aus dem Internet geladen hat, gibt es die Daten nur an den EPGImporter weiter, der die Daten wiederum an DVBViewer weitervermittelt:

 

Internet-EPG-Daten <- DataSource-Modul -> EPGImporter -> DVBViewer

 

Es muss sich halt jemand finden, der nun ein DataSource-Modul entwickelt, welches die Aufgabe des Ladens der Daten aus dem Internet beherrscht.

 

wenn du oder jemand anders ein weiteres Modul zum downoad von EPG-Daten erstellt, kann man dann einstellen, ob bereits bestehende Daten überschrieben werden oder nur nicht vorhandene ergänzt werden? Gleiche Frage bzgl. Bildern oder Bewertungen.

Das ist eine eigentlich hinfällige Fragestellung, denn du wirst feststellen, dass du jedem DVBViewer-Kanal nur einen DataSource-Kanal zuordnen kannst. Ein Grund ist unter anderem die nicht zu verachtende Komplexität eines Algorithmus, der rausfinden soll, ob nun die Sendung xyz von Datenquelle1 oder von Datenquelle2 besser ist. Das kann nur der Anwender selbst entscheiden. Deshalb gibt es nur die 1-Kanal-Regelung. Bei einem Import werden derzeit grundsätzlich alle EPG-Daten neu importiert, die das DataSource-Modul anzubieten hat. Ich war bisher auch davon ausgegangen, dass seitens des DVBViewers dann die entsprechenden EPG-Einträge vollständig ersetzt werden, was aber nicht der Fall zu sein scheint?! Muss ich mal genauer beobachten und gegebenenfalls ein Löschen aller EPG-Daten des DVBViewers bei jedem Import forcieren oder sowas.

Link to comment

Dass der Importer nicht entscheiden kann, welche Information "besser" (Qualität) ist, ist natürlich absolut nachvollziehbar.

 

Vielleicht hatte ich aber auch einen Spezialfall im Hinterkopf. Ich versuch's mal mit nem Beispiel:

1. Ich importiere mit dem clickfinder-modul:

- für 95% aller Sendungen erhalte ich Daten (5% der sendungen haben nur leere/keine infos oder werden gar nicht erkannt)

- Im Durchschnitt erhalte ich pro Sendung für 80% der Datenfelder auch Inhalte (20% der Sendungen haben Bilder, 98% haben description, 99% haben title....)

2. Jetzt importiere ich mit einem (zukünftigen) TVinfo-modul (Beispiel):

In der modul-config stelle ich als user ein ("meine ideale Welt"):

- für Sendungen, die bereits infos haben (egal ob alle oder nur einige Felder): a.) komplett überschreiben b.) ergänzen c.) "nicht anfassen"

- falls "ergänzen" gewählt wird, werden für jede Sendung nur die noch nicht vorhandenen felder und leere felder (images, title, descr., bewertungen) ergänzt

- Alternativ oder zusätzlich: ich kann als user pro modul festlegen, WELCHE daten er importiert (z.B. nur bilder oder nur bilder und Bewertungen von tvmovie..)

 

Der Importer kann die Qualität der Daten natürlich nicht beurteilen. Aber er weiß:

a.) für welche Sendungen er mind. eine info/ein datenfeld hat (z.B. title) und für welche er gar keine hat

b.) für welche "felder" er pro sendung inhalte hat oder nicht (z.B. image: ja/nein)

 

Wäre es so gesehen nicht möglich, "komplett fehlende Sendungen" und "fehlende infos pro Sendung" durch ein 2. oder gar 3. modul zu ergänzen ansttatt zu überschreiben?

 

Sorry, ist ne naive nicht-Programmierer-Frage :);)

Link to comment

Natürlich ist das möglich, aber bedenke mal die entstehende Komplexität, die nicht der Entwickler, sondern die CPU bewältigen muss:

 

Zunächst mal ein paar Kennzahlen, die so ca. zutreffen könnten:

100 TV-Sender

pro TV-Sender optimalerweise drei Wochen EPG

jeder Tag umfasst pro TV-Sender durchschnittlich ca. 30 Sendungen

 

-> 100Sender*30Sendungen*21Tage = 63.000 Sendungen

 

1. Für jede zu importierende Sendung muss nun geschaut werden, ob eine äquivalente TV-Sendung schon vorliegt. Ein Vergleich von Startzeit und Titel könnte ausreichen, tut es aber in Wirklichkeit nicht, denn Sendungen können sich auch zeitlich verschieben, so dass die Sendezeit der bereits eingetragenen Sendung nicht mehr mit der Sendezeit übereinstimmt, welche neu importiert werden soll. Was nun tun? Eine Fuzzy-Suche für jede der 60.000 neue hinzuzufügenden EPG-Sendungen durchführen, um in einem bestimmten Zeitrahmen doch noch die zugehörige Sendung zu finden? Alle Sendungen verwerfen, welche von der neu zu importierenden Sendung teilweise überdeckt werden?

 

2. Angenommen, es wurde eine äquivalente Sendung gefunden. Nun müssen beide Datenelemente miteinander verglichen werden. Erst der Unteritel, dann die Beschreibung, dann ob ein Bild vorhanden ist... und auch das wieder für 60.000 Sendungs-Päärchen. Nur mal anhand des Bilder-Vergleichs:

1. Prüfen, ob neuer Eintrag ein Bild mit sich bringt; wenn ja weitermachen

2. Bildnamen des Bildes des schon vorhandenen EPG-Eintrags ermitteln

3. Prüfen, ob Bilddatei im Bilderordner existiert

 

Das sind dann alles so Dinge, die einen Import auf einen Zeitraum extrem langen Zeitraum ausdehnen können. Da spielen dann wieder neue Problemchen mit rein, die auch wieder umgesetzt werden müssen. Beispiel: TVInfo. Ein Onlinedienst - also muss eigentlich während des gesamten Importzeitraums eine Internetverbindung vorliegen oder aber die Daten müssen wieder vorgepuffert werden.

 

Allgemein stelle ich dann wieder die Frage zurück, ob es denn nicht auch ausreicht, für jeden TV-Kanal einmal einen DataSource-Kanal zu bestimmen, der halt die besten Daten für den jeweiligen TV-Kanal liefert. Clickfinder hat nun ja auch nicht die ganz dicken Datenlücken. Das Anliegen ist mir schon klar, allerdings ist der Aufwand auch nicht zu verachten. Vielleicht mal in einer Stillen Stunde an einem Weihacntsfeiertag :)

Link to comment

Ahh! Danke für die ausführliche Erklärung! Jetzt sind mir die Hürden auch viel klarer. Danke!

 

Wäre überhauot ncht darauf gekommen, dass z.B. Rechenpower hier überhaupt zu einem Engpass werden könnte. Ist aber sehr gut nachvollziehbar wie Du es beschreibst.

 

Die aktuelle Lösung ist für mich alles andere als ein Kompromiss oder eine Beta! Diue ist bereits der Hammer, ehrlich. Die Clickfinder-Daten sind in der Tat bereits sehr gut.

 

Aber ist ja auch klasse, dass es immer wieder Erweiterungen gibt, über die man nachdenken kann. Aber ich sehe schon, meine Gedanken hattest Du bereits vorher dreimal gründlicher durchdacht...:)

 

Nochmals vielen Dank für Deine Mühe: tolles Tool!

Link to comment

Zur Info:

 

Zitat Kuehnch:

"Vielleicht versucht DVBViewer aus Performance-Gründen hier prinzipiell erstmal auf die Now/Next-Daten aus dem EIT zuzugreifen, anstatt die EPG-Datenbank zu befragen. Also kA..."

 

--> ist lt. Lars wohl so. Liegt also an aktueller dvbv-architektur, ist erkannt und wird gelöst, sobald möglich/sinnvoll.

Link to comment

Ok, jetzt funzt das tool wirklich ganz perfekt hier.

 

Noch ne Frage: dieses #EPG.image funzt ja in MyEPG schon perfekt. Kann es sein, dass es in MyMiniEPG net funzt? Da wärs doch auch gerade sehr praktisch um beim zappen schon zu sehn was kommt :)

Link to comment

hi SpAik!

 

ich schätze, da müssen wir noch ein bißchen Geduld haben. Liegt glaube ich an dem Punkt, den ich in dem post ober nochmal aufgegriffen habe.

Siehst du was, wenn du mal schnell rauf-/runter-schaltest?

Link to comment

Hab's gerade selbst nochmal getestet:

Durch das Aktualisieren (rauf-/runter-schalten) kann ich ein Bild im miniEPG anzeigen lassen

ABER: es bleibt dann stehen (= ist auch im miniEPG aller andern Sender sichtbar) , bis ich den DVBV neu starte.

 

Wie Lars es ausdrückte (oder so ähnlich): DVBV war nie auf solch "exessiven EPG-Import" ausgelegt. Kuehnch hat mit dem Importer halt ein sehr "progressives" Tool geschaffen :)

Jetzt müssen wir DVBV natürlich auch die Zeit geben, sich diesen neuen Anwendungen kontrolliert und stückweise noch weiter zu öffnen.

 

Ein kl. Problem mit der aspektratio der eingefügten bilder hab ich Lars übrigens auch bereits gemeldet:

Die ratio der #epg.image Elemente sollte auf true gesetzt werden. Momentan wird das Seitenverhältnis des ersten angezeigten images auch richtig übernommen. Dann wird diese aspect ratio aber für alle folgenden Bilder beibehalten, auch wenn diese ein anderes Seitenverhältnis haben. Das nur zur Info.

 

So, und jetzt nutze ich DVBV mal zum TV-schaun ;)

Link to comment

genau die beiden sachen hab ich auch entdeckt. Zweiteres stört mich nicht. Aber ersteres wär scho nice, wenns gehen würde.

So hab ich mein MiniEPG scho getuned, dass er alle Descriptions udn Texte zu den Sendungen anzeigt. Son Bildchen wär auch nice :)

Link to comment

Hab hier ein weiteres Tool, mit dem evtl. der DVB-EPG ersetzt werden könnte. Das Tool ist Open Source und bietet schon allerhand Funktionen.

 

TV Browser

 

Ich schau mir das mal genauer an und mal schaun, was sich machen lässt.

 

Edit: Ich habe gerade gesehen, dass man Tool schon für die Rekorderprogrammierung nutzen kann. Wenn das mit dem EPG noch ginge, dann könnte man Rekorder und EPG des DVBViewer komplett ersetzen

Edited by Filico
Link to comment
Guest Lars_MQ

Ich muss hier wieder auf das Problem aufmerksam machen. Die nutzungsbedingungen des TV Browsers verbieten es ausdrücklich deren epg weiterzuverwenden, hatte mich aúch damit beschäftigt. Was die User bei sich zuhause machen ist uns wurst, aber wir können/dürfen so einen importer nirgenwo in "offizielle" plugin listen aufnehmen, oder ihn empfehlen/unterstützen.

 

Um kein missverständniss aufkommen zu lassen, ich halte die Idee und herangehensweise von kuehnch für sehr gut und versuche es auch so gut wie möglich zu unterstützen. Ein generischer EPG-Importmanager dürfte auf jeden fall ok sein.

 

Ich denke nur, wir sollten (auch in Eurem interesse) mögliche folgen abwägen und aufzeigen (für importplugins für den Importmanager).

Link to comment

Ich kann Lars Kommentar da nur 1:1 so übernehmen. Ich mache mir selbst natürlich auch Gedanken, was zulässig ist und welche Mittel ich selbst ergreifen kann, sollten gewisse Spielregeln nicht eingehalten werden. Jeder, der also erwägt, ein solches DataSource-Modul zu entwicklen, sollte vorher kurz mal überprüfen, ob es überhaupt zulässig ist, die zu importierenden Daten anderweitig weiter zu verwenden.

 

Wo ich gerade hier bin: Sowohl die EPGImporterApp als auch das Clickfinder-Importer-Modul haben derweil zwei kleine Änderungen erfahren:

 

EPGImporter-Application: v.0.6.5.2

~ Configure DataSource-Module-Button ist bei laufendem Import nun vorsorglich deaktiviert.

 

Clickfinder-Importer-Modul: v.0.60

~ EPG-Einträge ohne SendungsID verhinderten einen erfolgreichen Import der restlichen EPG-Daten.

+ über den moduleigenen Konfigurationsdialog kann die TVMovie-Datenbank nun reorganisiert (von Fehlern bereinigt und rekomprimiert) werden.

 

Zur Einspielung des Updates einfach die EPGImporterApp schließen und die bisherige Installation mit den im Archiv enthaltenen Dateien überschreiben.

Edited by kuehnch
Link to comment

Da ich zukünftig auf ein anderes System der Softwareverteilung umsteigen will, ist mit viel daran gelegen, schon frühzeitig Resonanz zu erhalten. Deshalb möchte ich gerne schon jetzt auf eine Möglichkeit des Bezugs des EPGImports hinweisen, welche ein wenig von den gängigen Methoden abweicht.

 

Microsoft wird mit Windows Vista einen erneuten Versuch der Platzierung von ClickOnce unternehmen. ClickOnce stellt ein Softwareveröffentlichungssystem dar, welches mit dem .NET Framework 2.0 (erneut und unter neuem Namen) eingeführt wurde. Der prinzipielle Ablauf stellt sich wie folgt dar:

 

- Softwareentwickler veröffentlicht seine Software über eine Internetseite

- Anwender besucht die Internetseite und kann über einen Install-Button die Software starten

--> als reine Onlineanwendung: Nach einem Klick auf den Install-Button wird die neuste Version der Software in ein temporäres Verzeichnis auf den Rechner geladen und gestartet. Wird die Software beendet, werden alle temporären Daten gelöscht und die Anwendung ist sozusagen wieder verschwunden. Möchte der Anwender die Software wieder verwenden, so startet er die Software erneut über die Internetseite.

--> als Offlineanwendung: Nach einem Klick auf den Install-Button wird die Software im Benutzerkonto des aktuellen Benutzers installiert. Die Software lässt sich über einen Startmenü-Eintrag starten und über Software deinstallieren. Bei jedem Start wird kurz überprüft (wenn möglich), ob eine neue Software-Version vom Anwendungsentwickler bereitgestellt wurde. Wenn ja, dann kann der Anwender auf die neuste Version updaten. Der Anwender kann zudem auf eine vorangegangene Version zurückspringen.

 

Der Vorteil liegt auf der Hand. Sobald der Softwareentwickler eine neue Software-Version bereitstellt, braucht der Anwender die Software eigentlich nur einmal neu zu starten und schon kann er über einen Klick auf die neue Version updaten, ohne erst irgendwelche Archive entpacken zu müssen.

Der Nachteil ist zunächst mal die benötigte Internetverbindung, wobei eine Verteilung aber auch nach wie vor als Archiv auf separatem Wege geschehen kann, wobei dann die einfache Updatemöglichkeit entfällt. Ein weiterer Nachteil ist derzeit noch die Tatsache, dass Webbrowser ungleich des IE ein wenig rumzicken, wenn man nicht manuell einmal nachtritt.

 

###

 

Vorbereitende Maßnahmen:

- ein noch laufender EPGImporter muss beendet werden

- wenn Firefox verwendet werden soll, so ist im Vorfeld noch ein AddOn zu installieren

--> https://addons.mozilla.org/firefox/1608/

 

- Installationsseite im Webbrowser öffnen: http://www.0xFF.de/apps/EPGImporter/

- Install-Button betätigen

--> wird Firefox+AddOn verwendet, so öffnet sich ein Datei-Speichern-Dialog, welcher einen neuen Punkt "Run ClickOnce Application" enthält, der zu selektieren ist

- es erscheint ein Sicherheitshinweis, der darauf hinweist, dass Software aus dem Internet installiert werden soll, was natürlich dann mit "Installieren" oder "Trotzdem installieren" bestätigt wird

- der EPGImporter kann nun über das Startmenü gestartet werden

 

Nach der Installation sind noch keine DataSource-Module im EPGImporter enthalten. DataSource-Module werden nun direkt über die EPGImporter-Oberfläche unter dem Reiter "DataSource-Modules" installiert. Um das bislang einzige Modul "Clickfinder-Importer" zu installieren, ist wie folgt vorzugehen:

 

- Herunterladen des Moduls: http://www.0xFF.de/files/EPGImporter/TVMovieDataSource.zip

- Entpacken des Archivs an einen beliebigen Ort (es ergibt sich eine TVMovieDataSource.dll)

- Installieren des Modules über den Button "Add/Update module" im DataSource-Modules-Reiter des EPGImporters

--> im "Datei öffnen..."-Dialog wird einfach die zuvor entpackte DLL-Datei ausgewählt

 

Sollen alte Einstellungen übernommen werden, so muss kurz nochmal manuell Hand angelegt werden:

 

- EPGImporter beenden

- Kopieren aller *.xml-Dateien aus dem bisherigen EPGImporter-Ordner

--> Zielverzeichnis: C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten\EPGImporter\

 

###

 

Mich interessiert natürlich, was ihr von dem System haltet usw..

Edited by kuehnch
Link to comment
Mich interessiert natürlich, was ihr von dem System haltet usw..
Genau so viel wie von der Einführung von Wahlcomputer,

Gar nichts!

 

Zwar bietet ClickOnce auf den ersten Blick auch für den Unbedarften Anwender Vorteile,

denn es erspart es ihm nachzudenken ob es z.B. eine neue Software Version gibt

und ob die Änderungen für ihn von Vorteil sind oder ob es notwendig ist

ein Sicherheits Update durchzuführen.

Außerdem muss er sich noch weniger mit den Funktionen von Computern auseinander Setzen.

Sofern man bereit ist sich an bestimmte Programme zu binden die den Firmen "Standard" richtig beherrschen.

 

 

Die Vorteile für den Entwickler sind, dass er sicher sein kann,

dass alle die Aktuellste Version von Seinem Programm verwenden

und das Update auch (wenn ich das richtig verstanden habe) je nach Einstellung des Programmierers

nicht verhindern können.

Außerdem hat er einen genauen Überblick wie oft und wann sein Programm gestartet wird

(mit Registrierung weiß er sogar von wem).

 

Allerdings hat ein Anwender keine Möglichkeit bei einer alten Software Version zu Bleibe,

beziehungsweise sie wieder zu Installieren z.B. weil die neue Version auf Seinem Rechner nicht läuft

oder Funktionen die ihm wichtig waren geändert wenn nicht sogar entfernt wurde

(z.B. weil es diese Funktion nur noch in der neuen Ultimate Edition gibt).

Zur Zeit gibt es noch ein weiteres Problem und zwar wenn eine Anwendung Spinnt,

muss man alle lokal gespeicherten Anwendungen Löschen (ClickOnce ApplicationCache löschen).

 

Außerdem muss der Anwender dem Programmierer vollkommen vertrauen

(und ich habe ein Problem Unternehmen zu vertrauen die mir absolut nicht vertrauen DRM usw.)

da dieser ja jederzeit Funktionen hinzufügen/entfernen kann und Mann nicht eine Version Installieren kann

die schon eine weile bei verschiedenen Leuten im Einsatz ist und keine Anfälligkeiten gezeigt hat.

 

Zusätzlich entsteht durch diese Art der Anwendung die Notwendigkeit

das jeder PC immer Online sein muss wenn er verwendet wird.

Und bei einien werden die Online Kosten Steigen,

da noch nicht jeder eine DSL-Flatrate hat (teilweise auch ungewollt).

Die Flatrate Preise werden bei massivem Einsatz dieser Technik

wahrscheinlich auch steigen da die Provider untereinander Mengenbasiert abrechnen.

 

Außerdem frage ich mich wie das mit den Zertifikat wird.

Da eine Zertifizierungsstelle die zumindest die Identität eines Programmierers überprüft

das nicht umsonst machen wird.

Und wenn die Anwender sich da ran gewöhnen bei jeder Installation ein Unbekanntes Zertifikat

zu akzeptieren, werden sie auch bei einem Zertifikat Wechsel nicht wachgerüttelt.

Und ich will mir nicht vorstellen, was passiert wenn dann eine Domain wie DVBViewer.com

vielleicht auch nur für kurze Zeit unter die Kontrolle eines Gauners kommt.

Denn dann könnte er jedem der in dieser Zeit den DVBViewer startet

eine von ihm "angepasste" Version unterschieben.

 

 

So viel da zu, nach dem mir beim Lesen deines Posts

erst mal einige Horror Visionen kamen von denen sich einige

beim kurzen einlesen in das Thema aber schon als unbegründet herausgestellt haben.

 

Sollten einige meiner Übrig gebliebenen Befürchtungen

unbegründet sein lass ich mich gerne eines besseren belehren. :)

 

Ich hoffe das war jetzt nicht so viel dass es gar keiner mehr liest. :bye:

Link to comment

Einige Befürchtungen sind unbegründet.

Vorne Weg... der Anwender muss dem Programmierer immer vertrauen, egal, über welchen Weg die entwickelte Anwendung verteilt wird. Wenn ich ein ZIP-Archiv bereitstelle, so kann auch hier Kompromittierung erfolgen, indem ein manipuliertes Archiv von einem unbekannten Dritten bereitgestellt wird. Den einzig wahren Unterschied, den ich hier sehe zwischen ZIP-Archiv/Installer-Verteilung und ClickOnce, ist die Tatsache, dass der Anwender im Rahmen der ersteren Verteilungsmethoden mehr Zeit bekommt, um zu überlegen und zu erkennen, ob alles korrekt abläuft, da der Installations/Updateprozess mehr Zeit und mehrere Schritte umfasst. Bei ClickOnce ist es eben nur die eine Bestätigung, die vom Anwender gefordert wird, bevor die Software dann installiert oder erneuert wird.

 

Eine dauerhafte Internetverbindung ist auch bei ClickOnce-installierten (Offline-)Anwendungen nicht nötig. Wenn eine solche Anwendung bzw. der Container, welcher die Anwendung kapselt, nach Updates prüfen möchte, dann kann er es versuchen. Wenn das aber eben nicht klappt, dann ist das so - die Anwendung wird ganz normal starten und gegebenenfalls dann nicht auf dem neusten Stand sein. Die Funktionalität wird jedoch in keinster Weise eingeschränkt. Weiterhin besteht seitens des Entwicklers auch die Möglichkeit, die Aktualisierungsmöglichkeit vollends zu deaktivieren. Wichtig ist auch, dass es eine AktualisierungsMÖGLICHKEIT ist. Wird eine Aktualisierung vom Entwickler bereitgestellt, so erscheint (je nach Einstellung des Aktualisierungsprozesses durch den Entwickler zu unterschiedlichen Zeitpunkten) ein Hinweis darauf, der dem Anwender die Möglichkeit gibt, seine vorliegende Softwareversion zu erneuern. Der Anwender kann dies aber jederzeit ablehnen. Eine erneute Aufforderung zum Update erscheint dann erst wieder, wenn erneut eine Aktualisierung bereitsteht. Dem Anwender wird hier also nichts aufgezwungen (sollte es seitens ClickOnce doch die Möglichkeit geben, eine Aktualisierung zu erzwingen, so ist das eine Sache, die der Anwender ohne jeden Zweifel bemerken und für sich einschätzen wird - passt dem Anwender das nicht, kann er einfach aufhören, die Software weiter zu verwenden).

 

Der Anwender kann weiterhin selbst und ohne Eingreifen des Entwicklers auf vorangegangene Versionen der ihm vorliegenden Software zurückspringen, weil die unterschiedlichen Versionen lokal zwischengespeichert werden. Auch hier besteht also keine Kontrolle des Entwicklers.

 

Was spricht denn gegen eine Statistik für den Entwickler, die ihm aufzeigt, ob seine Software gefragt ist oder nicht? Wenn du selbst eine Anwendung entwickeln würdest, so wärst du doch auch daran interessiert, wie umfangreich diese Anwendung verwendet wird, zumal ClickOnce hier doch keine neuen Datensätze zur Verfügung stellt. Eine solche Zählung ist bisweilen auch ohne ClickOnce möglich, indem einfach die Anzahl der Downloads von ZIP-Archiven oder Installern gezählt wird. Die Anzahl der Anwendungsstarts ist sicher ein neuer Wert, der aber doch ohne jeglichen Anwenderbezug ist. Jetzt bitte nicht wieder mit IP-Adressen kommen... zumal das ein Wert ist, der doch keinem Anwender ein neues Erscheinungsbild aufdrückt.

 

Das Hauptproblem derzeit ist sicher die Tatsache, dem Anwender von Entwicklerseite vertrauen zukommen zu lassen, weil eine direktere Verbindung zwischen dem Internet (Gefahr, böse Buben, Zerstörung) und der lokalen Realität gestrickt wird, aber soviele neue Gefahren und neue Aspekte gibt es ja nun nicht, wie die vorangegangenen Erläuterungen hoffentlich aufzeigen konnten.

Das eingesetzte Sicherheitskonzept muss eben ausgewogen sein, so wie es das bisher auch ist. Die 100%ige Sicherheit möchte niemand haben, weil das mit zuvielen Umständen verbunden ist. Es hat sich bisweilen doch niemand ernsthaft darüber beklagt, dass die im DVBViewer-Bereich bereitstehenden Tools/Pluginpakete... ohne jegliche Prüfsummen bereitgestellt werden, die dem Anwender die Möglichkeit geben würden, zu prüfen, ob es sich bei den Daten auch um die Daten aus Entwicklerhand handelt, entweder weil diese Gefahr bisweilen garnicht erkannt wurde oder weil eben die Faulheit die volle Sicherheit überflügelt.

 

Ich als Entwickler möchte einfach sicherstellen

- dass auch Otto eine gewisse Funktionsvielfalt geboten bekommt und

- jeder die von mir angebotene Software genießen kann, was nur geht, wenn sie fehlerfrei und einfach bedienbar ist

 

Mir geht es also nicht darum, irgendwem was unterzujubeln, was er nicht möchte, sondern das, was er möchte, so optimal wie möglich abzuliefern.

Link to comment

Ohne mich auf diese Diskussion weiter einlassen zu wollen, habe ich mich jetzt mal "dumm" gestellt und versucht, das Programm über meinen Favorit-Browser zu installieren.

 

Plugin-kein Problem-

EPG-Imprter.application mit click once starten- auch kein Problem

 

Aber dann---da meine Firewall nur Authentifizierte Verbindungen nach außen zulässt schlägt das Herunterladen fehl. Auszug aus dem LOG:

Fehlermeldungen wurden entdeckt:

+ 'http://www.0xff.de/apps/EPGImporter/EPGImporter.application' konnte nicht gedownloadet werden.

+ Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich.

 

Also so geht das (noch) nicht. Die Anmelde und Proxy-Infos müssten schon vom Firefox abgezogen werden, wobei das ja gerade mein Sicherheitsfeature ist, dass halt nicht jede APP beliebig nach draußen kann....

Auf gut Deutsch: Ich bin auch prinzipiell gegen solche Sachen, Tjod hat ja schon ganz gut die Schwachstellen aufgezeigt und alles nötige gesagt. Danke fürs Zuhören. :bye:

 

EDIT:

kuehnch, das geht absolut nicht gegen Dich persönlich, Dir würde ich ja auch vertrauen :) , nein da geht es um das Prinzip. In den Argumentationen habt ihr beide Recht. Es ist halt wieder etwas "Neues" und es sammelt sich im "Cache" Zeug an, was ich lieber geordnet in einem Install-Verzeichnis liegen habe, um es auf einem anderen Rechner oder bei einer Neuinstallation gezielt wieder einsetzen zu können.

Edited by azeman
Link to comment

Ich weiß doch, dass das alles nicht persönlich gegen mich geht :bye:

 

Genau das wollte ich ja mal ausdiskutieren - ob ein solches Verteilungskonzept überhaupt interessant erscheint oder ob alle mit ihrem ladbaren ZIP-Archiv, welches die Aktualisierung teils umständlich macht (gerade für Otto, der so Dinge wie "Drüberentpacken" usw. nicht so kennt), zufrieden sind.

Das Hauptgegenargument ist bei Computerenthusiasten eben dann die mangelnde Kontrolle, weil das Aktualisierungssystem und das damit verbundene Sicherheitskonzept eine gewisse Unordnung verursacht (Programmdateien werden in einen durch eine eindeutige Kennung benannten Ordner geschoben, der an einem nicht konkret veränderbaren Ort platziert wird, während die Konfigurationsdateien wiederum an einen zweiten Ort ausgelagert werden).

 

Zum Technischen:

Die komplette Methodik, wie die Applikation geladen wird usw. ist im .NET-Framework verankert. Entsprechend muss dem .NET Framework ebenso wie einem Webbrowser einmal die Erlaubnis erteilt werden, eine Firewall zu durchwandern (natürlich nur zu jeweils einem festgelegten Ziel, z.B. der EPGImporter-Quelle). Proxyeinstellungen und Co. werden sicherlich vom InternetExplorer abgegriffen, weil der Ladeproxy des .NET-Frameworks ja nicht direkt an den Browser gekoppelt wird, der den Link zur Applikation anzeigt. Sobald der Anwender auf den Link geklickt hat (egal wie und wo), wird das Framework separat tätig. Wo Proxy-Einstellungen herkommen, weiß ich also selbst auch nicht.

 

Ich werde zukünftig wohl einfach beide Möglichkeiten anbieten und mal ein wenig beobachten, wie oft welche Methodik verwendet wird. Ist ja auch ganz interessant :)

Link to comment
  • 3 weeks later...

Das ist genau das Tool, das ich gesucht habe!

Nur leider werden mir die Daten inm DVBViewer Pro nicht im EPG angezeigt. Ich habe alles wie beschrieben installiert, epg.dat gelöscht, 2 Kanäle zu Testzwecken gemappt, der Import dauert dann auch so ca. 8 Sek. Allerdings werden mir zuerst gar keine Daten angezeigt, nach kurzer Wartezeit dann die, die vom Sender mit gesendet werden. Muss ich im EPG noch irgendwo die Datenquelle umstellen? Gibt es eigentlich noch einen besseren EPG als Plugin als den, der standardmäßig dabei ist?

Danke!

MrEase

Edited by MrEase
Link to comment

@MrEase: im DVBV-eigenen Kanaleditor kannst Du pro Kanal festlegen, welche EPG-Quellen genutzt werden sollen (DVBV-intern, extern/EPG-Importer, SiehFern/Mediahighway-Daten)

 

@SpAik: auch die letzten beiden Probleme/Punkte von oben sind inzwischen von Lars gelöst worden :bounce:

Link to comment
Guest Lars_MQ
@MrEase: im DVBV-eigenen Kanaleditor kannst Du pro Kanal festlegen, welche EPG-Quellen genutzt werden sollen (DVBV-intern, extern/EPG-Importer, SiehFern/Mediahighway-Daten)

Öhm die Version ist noch nicht veröffentlicht. :bounce:

Link to comment

@MrEase: im DVBV-eigenen Kanaleditor kannst Du pro Kanal festlegen, welche EPG-Quellen genutzt werden sollen (DVBV-intern, extern/EPG-Importer, SiehFern/Mediahighway-Daten)

Öhm die Version ist noch nicht veröffentlicht. :bounce:

Oh - das klingt ja sehr interessant und ist ein durchaus mächtiges Feature.

 

@MrEase: Benutzt du auch mindestens DVBViewer 3.50.120, welche es bisher nur als Betaversion gibt? Dies ist nötig, da mit der Version ein Bug im DVBViewer gefixt wurde, der einen Import von EPG-Daten von außerhalb unmöglich machte.

Edited by kuehnch
Link to comment
Guest Lars_MQ
dann wisst ihr ja was ich heute als weihnachtsgeschenk erwarte

Oh ich erwarte auch so einige weihnachtsgeschenke. Aber ich fürchte wir werden beide mit einer enttäuschung leben müssen :bounce:

Link to comment
  • 2 weeks later...

Hallo,

kleines Zwischenupdate.

 

Ich habe den EPGImporter nun noch um eine Template-Engine erweitert, so dass in Titel, Untertitel und Beschreibung eines jeden EPG-Eintrags weitere Informationen integriert werden können. Zum Beispiel können im Beschreibungstext nun noch Informationen wie das Herstellungsjahr, das Herstellungsland, die verfügbaren Audioformate, FSK, Regie, Darsteller etc. einer Sendung zur Anzeige gebracht werden.

 

Welche Informationen wo angezeigt werden, kann vom Anwender selbst bestimmt werden. Die grafische Benutzeroberfläche des EPGImporters wurde dazu um drei neue Elemente unter dem Reiter "Settings" erweitert:

 

EPGImporter_Templates.jpg

 

Wie im Bild zu erkennen, lassen sich für Titel, Untertitel und Beschreibung jeweils speziell formatierte Zeichenketten angeben. Beispielsweise wurde der Titel so modifiziert, dass ihm ein "Live: " vorangesetzt wird, wenn es sich bei der Sendung um eine Live-Sendung handelt. Folgende "DataTags" stehen derzeit zur Verfügung (der Dateninhalt kann dabei beliebiger Natur sein - bei TVMovie gilt allerdings derzeit dann folgendes):

 

title - Titel - Zeichenkette

subtitle - Untertitel - Zeichenkette

description - Beschreibung (entweder normale- oder Kurzbeschreibung) - Zeichenkette

 

live - ist die aktuelle Sendung eine Live-Sendung? - boolscher Wert

repeat - ist die aktuelle Sendung eine Wiederholung? - boolscher Wert

certification - Jugendschutz... bei TVMovie FSK (Freigabealter) - Zahlenwert

rating - Bewertung - Zahlenwert

extendedrating - erweiterte Bewertungen (Spaß = 3, Spannung = 1...) - Dictionary

audioformat - Auflistung der Audioformate, z.B. "Stereo, DolbyDigital" - Zeichenkette/Array

videoformat - Videoformat (derzeit nur "16:9" bei 16:9-Sendungen) - Zeichenkette

country - Herstellungsland in Kurzform - Zeichenkette

year - Herstellungsjahr - Zahlenwert

directedby - Regie - Zeichenkette

color - liegt die aktuelle Sendung in Farbe vor? - boolscher Wert

actors - Darsteller - Zeichenkette/Array

subtitles - Hat die aktuelle Sendung Untertitel?

 

Diese DataTags können also in den drei Elementen Titel, Untertitel und Beschreibung "verbaut" werden. Um einfach den enthaltenen Wert auszugeben, werden die DataTags in $-Zeichen eingefasst (z.B. $title$ ). Besitzt ein DataTag bei einer Sendung keinen Inhalt (z.B. hat eine Sendung keine Angabe der FSK), so erfolgt auch keine Ausgabe des DataTags. Mit Bedingungen lässt sich weiterhin ein Vorhandensein einer Variablen bzw. der boolsche Wert auswerten:

 

$if(live)$Die Sendung ist live$endif$

 

oder

 

$if(live)$

Die Sendung ist live

$else$

Die Sendung ist nicht live

$endif$

 

. DataTags, welche eine Auflistung mehrerer Werte enthalten können (z.B. kann eine Sendung mehrere Darsteller haben), lassen sich beliebig separieren (z.B. durch ein Kommata):

 

$actors; separator=", "$

 

Wenn eine Leerzeile oder ein Zeilenumbruch benötigt wird, dann kann dies durch

 

$\n$

 

bewerkstelligt werden. DataTags ohne Inhalt (z.B. existiert keine FSK-Angabe bei einer Sendung) lassen sich auch nachträglich in beliebiger Form ausgeben, wenn man dies möchte (nachfolgend wird "keine Angabe" ausgegeben, wenn kein FSK-Wert spezifiziert ist):

 

FSK: $fsk; null="keine Angabe"$

 

Dictionaries (z.B. extendedrating) stellen Auflistungen von Schlüssel/Wert-Paaren dar. Abstrakt betrachtet entspricht dies quasi einem Wörterbuch, wo jedes Schlagwort (Schlüssel) eine Erklärung (Wert) besitzt. Solche Auflistungen können iterativ durchlaufen werden, um die Schlüssel/Wert-Paare nacheinander auszulesen. Im nachfolgenden Beispiel wird aus Bewertungen eine Zeichenkette der Form Spaß = 1, Spannung = 2... erzeugt (es wird die Schlüsselauflistung in einer Schleifenanweisung ( {}) durchlaufen; der jeweils aktuelle Schlüssel wird dabei in der Variable "k" abgelegt; über dictionary.(k) kann dann der zugehörige Wert erfragt werden).:

 

Erweiterte Bewertung: $extendedrating.keys: {k| $k$ = $extendedrating.(k)$}; separator=", "$

 

Die ganze Geschichte ist noch sehr experimentell und was sich noch so alles damit machen ließe, weiß ich selbst noch nicht so genau :bye: Weitere Informationen finden sich sicher unter http://www.stringtemplate.org .

 

Bekannte Probleme

- nach dem Einspielen einer neuen EPGImporter-Version kann im "Description Format"-Eingabefeld gegebenenfalls noch ein falscher Standardwert "{description}" auftauchen, der gegen $description$ auszutauschen ist (Speichern nicht vergessen...).

 

Neben dem EPGImporter muss dann auch das DataSource-Modul "Clickfinder-Importer" erneuert werden. Dazu einfach das Modul unter dem bekannten Link herunterladen, entpacken und die DLL-Datei über den Add/Update-Button des EPGImporters laden, so dass das Modul gegen die neue Version ausgetauscht wird.

 

Abschließend ein kleines Template für den Beschreibungstext, welcher ihn um einige Informationen erweitert:

 

$if(description)$

$description$$\n$$\n$

$endif$

$if(rating)$

Bewertung: $rating$$\n$

$endif$

$if(extendedrating)$

Erweiterte Bewertung: $extendedrating.keys: {k| $k$ = $extendedrating.(k)$}; separator=", "$$\n$

$endif$

$if(country)$

Land: $country$$\n$

$endif$

$if(year)$

Jahr: $year$$\n$

$endif$

$if(directedby)$

Regie: $directedby$$\n$

$endif$

$if(actors)$

Darsteller: $actors; separator=", "$$\n$

$endif$

$if(videoformat)$

Videoformat: $videoformat$$\n$

$endif$

$if(audioformat)$

Tonformat: $audioformat; separator=", "$$\n$

$endif$

Edited by kuehnch
Link to comment

03.01.2007 20:46:51 -> Error while setting EPG of DataSource-Channel New Root$$Favoriten$$52514341|SAT.1 (Object reference not set to an instance of an object.)

at EPGImporter.DVBViewerChannelManager.ChannelManager.CreateDataTaggedString(String& dataTaggedString, IDataSourceEPGElement epgElement, IImportSettingsManager importSettingsManager)

 

at EPGImporter.DVBViewerChannelManager.ChannelManager.SetChannelEPG(String ID, IDataSourceEPGElement[] epg, Boolean importImages)

 

at EPGImporter.Importing.ImportThread.Run()

 

 

was mach ich falsch? :x

Link to comment

Hast du schon an den Formatstrings gefummelt? Wenn ja, dann wird ein Formatstring verkehrt sein.

 

Wenn nicht:

Hm.. hast du in allen drei Formatstringfeldern einen Inhalt?

Vielleicht mal Ausgangssituation herstellen:

 

Title-Format: $title$

SubTitle-Format: $subtitle$

Description Format: $description$

 

Das entspricht quasi dem bisherigen Verhalten.

Edited by kuehnch
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...