hört sich interessant an, bis zu dem Punkt das der Server in java ist

[ANNOUNCE] Easteregg: epgd/epghttpd 1.0.0 beta1 - jetzt mit web /serientimer Unterstützung
-
-
Das macht in der Tat Sinn im Multiuser Umfeld - wenn das die Zielgruppe ist bin ich da natürlich auf verloren Posten
Wir wollten endlich das VDR Live los werden (bei LibreELEC) und gegen etwas austauschen was aktuell und funktioneller ist - dadurch bin ich hierauf aufmerksam geworden (auch da es ja keine Alternative gibt).
Die Verwendung einer MySQL db würde das ganze System ad absurdum führen - Pech für uns natürlich (Server und Client läuft ja auf dem selben schmalspur System). Wichtig wäre klein, schnell und wenig overhead und funktioniert problemlos mit langsamen SD Karten - deswegen der Gedanke mit sqlite und weil das ähnlich bei Tvheadend auch gut klappt.Die Variante mit der H2 db klingt auch bedingt gut - nur schade das es nicht ohne java aus kommt. Aber zum ausprobieren klingt es erstmal gut (wenn auch nicht ideal). Danke für den Hinweis.
-
Ob sich wirklich so einfach auf eine andere Datenbank schwenken lässt? Die Plugins von epgd nutzen MySQL Preparerd statements. Die müssten dann ja, je nachdem ob DB SQL spricht, auch geändert werden, die sind ja nicht durch eine abstrakte API gekapselt. Oder sehe ich das falsch?
-
Die Verwendung einer MySQL db würde das ganze System ad absurdum führen - Pech für uns natürlich (Server und Client läuft ja auf dem selben schmalspur System).
Habe ich doch gesagt, einsperren in einen Docker container, und ihr seid die Sorge los. Wenn dann der User doch noch einen Server stehen hat, dann den Docker container da starten. Dadurch bleibt LE schön schlank.Gerald
-
hab hier ein problem und natuerlich eine frage zu den postern. mit dem "alten" epgd bestand ja die
moeglichkeit, per scrapinfo die entsprechende id zu uebergeben. im neuen wurde das ersetzt durch
die info.epg2vdrallerdings bekomm ich es nicht auf die reihe, fuer diverse aufnahmen, eine passende id zu hinterlegen,
wenn ein falsches oder kein poster gefunden wurde. als beispiel nenne ich hier einmal:
James Bond - Diamantenfieber
er findet folgendes poster: https://www.themoviedb.org/translate/movi…?language=en-US
anstatt: https://www.themoviedb.org/movie/681-diamonds-are-forevertrage ich in die info.epg2vdr SCRMOVIEID: 681 ein, und baue die datenbank neu, so traegt er immer
wieder die 178426 einwie laesst sich das umgehen?
gibt es eine moeglichkeit, bereits gescrapte aufnahmen neu zu scrapen, wenn das richtige poster
nicht gefunden wurde, ohne die db neu zu generieren? -
einsperren in einen Docker container
Genau, gibt es sogar schon gebrauchsfertig, MariaDB Image mit den Levenstein Funktionen. -
hab hier ein problem und natuerlich eine frage zu den postern. mit dem "alten" epgd bestand ja die
moeglichkeit, per scrapinfo die entsprechende id zu uebergeben. im neuen wurde das ersetzt durch
die info.epg2vdrallerdings bekomm ich es nicht auf die reihe, fuer diverse aufnahmen, eine passende id zu hinterlegen,
wenn ein falsches oder kein poster gefunden wurde. als beispiel nenne ich hier einmal:
James Bond - Diamantenfieber
er findet folgendes poster: https://www.themoviedb.org/translate/movi…?language=en-US
anstatt: https://www.themoviedb.org/movie/681-diamonds-are-forevertrage ich in die info.epg2vdr SCRMOVIEID: 681 ein, und baue die datenbank neu, so traegt er immer
wieder die 178426 einwie laesst sich das umgehen?
gibt es eine moeglichkeit, bereits gescrapte aufnahmen neu zu scrapen, wenn das richtige poster
nicht gefunden wurde, ohne die db neu zu generieren?Hi,
versuch mal in der info.epg2vdr:
SCRMOVIEID rausnehmen
und nur
SCRINFOMOVIEID = 681
Danach
svdrpsend plug epg2vdr UPDRECGruß
-
mamomoz:
Danke für den wertvollen TippIch hatte da auch immer schon mal wieder dran rumgeschraubt, bisher ohne Erfolg.
So wie von dir beschrieben funktioniert es bei mir -
versuch mal in der info.epg2vdr:
SCRMOVIEID rausnehmen
und nur
SCRINFOMOVIEID = 681
Danachhab ich eben getestet, klappt aber nicht. schau ich fuenf minuten spaeter in die info.epg2vdr,
steht wieder die SCRMOVIEID: 178426 drin -
Hi,
habe vor einer Woche von epgd auf epghttpd umgestellt, was auch mittlerweile ohne Probleme läuft. Vielen Dank dafür.
Gestern habe ich nun Angefangen erste Suchtimer von epgsearch auf epghttpd umzustellen. Vorher habe ich die erledigten Timer von epgsearch in die Datenbank importiert.
Dabei ist mir Folgendes bei der Funktion "Wiederholungen vermeiden" aufgefallen:Beim Vergleich des Titel:
Wenn eine Sendung keinen "episodecompshortname" besitzt wird diese nie aufgenommen, da eine Wildcard Abfrage entsteht, die immer Zutrifft. (like '%%'). Auch die Erweiterte Einstellung "Ignorire fehlende EPG Info" hilft anscheinend nicht.
Momentan besitzen nur 953 von 36.959 Events in meiner Datenbank eine Kurztitel.SQLselect id, state from timersdone where state not in ('F','J') and (concat(ifnull(comptitle,''),'~',ifnull(episodecompshortname,'')) like '%THEBLACKLIST%' or concat(ifnull(comptitle,''),'~',ifnull(episodecompshortname,'')) like '%%')
Beim Vergleich des Kurztext:
Hier ist es ähnlich. Hat die Sendung keinen "episodecomppartname" entsteht die gleiche Wildcard Abfrage.SQLselect id, state from timersdone where state not in ('F','J') and (concat(ifnull(compshorttext,''),'~',ifnull(episodecomppartname,'')) like '%CAPEMAY%' or concat(ifnull(compshorttext,''),'~',ifnull(episodecomppartname,'')) like '%%')
Hoffe ihr versteht was ich meine
Michael
-
ich glaube du hast Recht.
wir haben da lange dran gearbeitet damit es ohne eine "oder Matrix" performant funktioniert und es im SQL mit Fallbesipielen auf Herz und Nieren getestet und zum Schluss hat Jörg noch die ifnull drum gemacht, letzteres hat es an der Stelle wohl zerlegt. Prinzipiell ist es aber genau so gewünscht wie es da steht, nur das mit den ifnull ist schräg das muss anders abgefangen werden wenn es keinen Shortname gibt
Wir korrigieren das, danke für den Hinweis.
Christian
-
der Hintergrund ist das wir auch erkennen wollen das du zB die Folge 10 aus "CSI Vegas" schon kennst weil du schon mal die Folge 10 von "CSI den Tätern auf der Spur" aufgenommen hast. Greift also immer wenn der Name der Serie abweicht, selbige aber nur sysmlinks auf eplist mit identischem shortname haben.
er weiß also auch das Bones = Bones die Knochenjägerin, oder Grey's Anatomy = Grey's Anatomy die jungen Ärzte, solche Sachen wurden früher doppelt und dreifach aufgenommen weil epgsearch das nicht geschnallt hat das es dasselbe ist...
[Edit] da das Ganze sehr generisch ist wird es am einfachsten sein den fehlenden Shortname an der Stelle wo es zu like '%%' wird mit etwas zu ersetzen was in der Praxis nie wahr werden kann, zb '123ZZZZ321' oder was anderes abstraktes[/Edit]
Christian
-
Bitte nicht solche "magic strings", die machen nur Ärger, weil keiner sie versteht und dann gibt es plötzlich doch mal so eine Folge...
Lars
-
Jain, ist halt eine Frage des Komfort und der Performance ob du es transaktional korrekt ausprogrammierst und deine DB für jeden Suchtimer alle halbe Stunde mit mehreren 10.000 Statement bombardierst, oder ob du da etwas Rücksicht auf Maschinen mit weniger Schub nimmst und es in genau einem Statement pro Suchtimer machst.
Müssen wir aber intern besprechen wie wir das machen, vllt hat Jörg ja ne Idee, zur Not plädiere ich dazu die uuid dort einzusetzen
Christian
-
SQL
select id, state from timersdone where state not in ('F','J') and (FIELD('THEBLACKLIST',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0 or FIELD('',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0) ;
was haltet ihr davon?
Erste Tests sehen bei mir ganz gut aus.
müsste dann in der searchtimer.c so aussehen.Code
Display Moreif (repeatfields & sfTitle) { selectDoneTimer->build(" and (FIELD('%s',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0" " or FIELD('%s',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0)", useeventsDb->getStrValue("COMPTITLE"), useeventsDb->getStrValue("EPISODECOMPSHORTNAME")); } if (repeatfields & sfFolge) { selectDoneTimer->build(" and (FIELD('%s',NULLIF(compshorttext,''),NULLIF(episodecomppartname,''))>0" " or FIELD('%s',NULLIF(compshorttext,''),NULLIF(episodecomppartname,''))>0)", useeventsDb->getStrValue("COMPSHORTTEXT"), useeventsDb->getStrValue("EPISODECOMPPARTNAME")); }
Michael
-
ist nicht schlecht und auch nicht langsamer, wir testen das morgen mal über alle Konstellationen
Danke
Christian
-
Ist ist gerade ein neuer Loader für den http-branch von epgd aufgetaucht.
Jetzt lassen sich auch die Daten von TV-Spielfilm verwenden.
Guten Infos, sehr viele Epg-Bilder. -
Ist ist gerade ein neuer Loader für den http-branch von epgd aufgetaucht.
Jetzt lassen sich auch die Daten von TV-Spielfilm verwenden.
Guten Infos, sehr viele Epg-Bilder.Gibts da einen neuen Loader für TVM oder ist das ein ganz neuer? Irgendwie schienen ja nicht alle Bilder eingelesen zu werden. Falls ja, bitte mal PN an mich
Danke
-
Natürlich gibr es auch für tvm einen neuen Loader, der ist bereits an bekannter Stelle hochgeladen.
-
SQL
select id, state from timersdone where state not in ('F','J') and (FIELD('THEBLACKLIST',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0 or FIELD('',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0) ;
was haltet ihr davon?
Erste Tests sehen bei mir ganz gut aus.
müsste dann in der searchtimer.c so aussehen.Code
Display Moreif (repeatfields & sfTitle) { selectDoneTimer->build(" and (FIELD('%s',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0" " or FIELD('%s',NULLIF(comptitle,''),NULLIF(episodecompshortname,''))>0)", useeventsDb->getStrValue("COMPTITLE"), useeventsDb->getStrValue("EPISODECOMPSHORTNAME")); } if (repeatfields & sfFolge) { selectDoneTimer->build(" and (FIELD('%s',NULLIF(compshorttext,''),NULLIF(episodecomppartname,''))>0" " or FIELD('%s',NULLIF(compshorttext,''),NULLIF(episodecomppartname,''))>0)", useeventsDb->getStrValue("COMPSHORTTEXT"), useeventsDb->getStrValue("EPISODECOMPPARTNAME")); }
Michael
Also Mucky, Michael
angesehen davon das dein Code mit dem Field() besser ist als meiner und ich das auch gern noch mal anfassen möchte, hab ich mir das noch mal angesehen weil ich mir sicher war das wir das im Detail getestet haben und ich das nicht auf mir sitzen lassen wollte
Der Bug ist nämlich ganz woanders als gedacht: das eigentliche Problem ist das leere Felder zu episodecompname,episodecompshortname,episodecomppartname,episodelang,shorttext,compshorttext gar nicht mit Null in die timersdone eingefügt werden sondern mit '', und genau dann greift der ifnull gar nicht.
Ich hatte das mit "korrekten" Daten in der timersdone getestet die ich dafür aus der epgsearchdata.done importiert hatte. Die Aufnahmen die mit epgd eingetragen werden sind leider anders.
Christian
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!