Rikitik / project-valerie

Automatically exported from code.google.com/p/project-valerie
0 stars 0 forks source link

Sync bleibt stehen #474

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Sync bleibt immer beim gleichen File hängen.

Original issue reported on code.google.com by jeeee.re...@gmail.com on 29 Feb 2012 at 1:18

Attachments:

GoogleCodeExporter commented 8 years ago
Hier nochmal ein "normal" Sync. Bleibt bei der gleichen Datei hängen.

Original comment by jeeee.re...@gmail.com on 29 Feb 2012 at 1:35

Attachments:

GoogleCodeExporter commented 8 years ago
Hi,

nur mal so aus der Hüfte geschossen: 
laut Log hängt sich PVMC bei Seinfeld auf. Das scheint ja eine Serie zu sein, 
richtig? Und es handelt sich um Enigma2-Eigenaufnahmen?

Das Problem scheint nun zu sein, dass wir aus den Enigma2-meta file zwar 
Serienname + Episoden-Name bekommen:

    14:26:51.0855251 I  MediaInfo::getEnigma2RecordingName MovieName = 'Seinfeld' - EpisodeName = 'Der Reinfall'

damit anschließend aber keine Staffel- und Episoden-Nummern erhalten:

    14:26:51.0900799 I  pyvalerie::run E2-recorded TV-Show => trying to get season and episode from E2 episodename...

     ...

    14:26:52.0132092 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName  <- None (eof)
    14:26:52.0142214 I  pyvalerie::run E2-recording not recognized as TV show => trying to parse as movie... 

Also versucht Valerie das ganze nochmal als "Movie" zu syncen und findet damit 
dann die Dokumentation

    14:26:52.0728075 I  MobileImdbComProvider::getMoviesByTitle     Comedian:2002:tt0328962:False

die natürlich schon x-mal vorher gefunden wurde und in die failed-Sektion 
müsste.

Leider sind die nachfolgenden Schritte aus dem Log für die vorangegangen 
"Treffer" neu für mich, sodass ich erstmal im Code nachschauen muss, was da 
dann noch so getrieben wird, aber: für mich sieht es momentan nicht so aus, 
als ob dass es ein Problem mit dem File an sich ist. Wenn Du diese Datei mal 
rausnehmen oder umbenennen würdest (z.B. Endung auf "exe" ändern, damit sie 
Valerie nicht als Medien-Datei erkennt), wäre es wahrscheinlich die nächste 
Seinfeld-Episode, an der sich PVMC dann aufhängen würde...

Das wäre natürlich ein interessanter Test - hast Du das schonm al ausprobiert?
Und was Du auch nochmal probieren könntest: benenn das File einfach mal um. 
Wenn ich das richtig sehe, müsste das ja Staffel 9 / Folge 6 sein - also dann 
z.B.: 

    Seinfeld_s09e06.ts 

Anyhow:  
Ich schlage vor, dass wir nochmal abwarten, ob von den Kollegen jemand mehr aus 
dem Log lesen kann - vielleicht überseh ich ja was oder bin auf der falschen 
Fährte. Ansonsten versuch ich die Sache mal im Laufe der Woche bei mir mit 
entsprechenden Dummy-Files nachzustellen.

Ich lass den Status auch erstmal auf "New", denn eine richtige Analyse des 
Problems haben wir ja noch nicht und reproduziert habe ich das Problem 
ebenfalls nicht.

Gruß, Erik 

Original comment by erik.for...@gmail.com on 29 Feb 2012 at 6:40

GoogleCodeExporter commented 8 years ago
interessant ist, dass er die antwort vom googleprovider nicht nimmt ...

14:26:51.0941489 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://www.google.com/search?q="Seinfeld":: "Der Reinfall"
14:26:52.0075559 I  GoogleProvider::searchForSeasonAndEpisode m.group()=s3e9
14:26:52.0080464 I  GoogleProvider::searchForSeasonAndEpisode m.group()=6x11
14:26:52.0085795 I  GoogleProvider::searchForSeasonAndEpisode m.group()=s06e11
14:26:52.0132092 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName  <- None 
(eof)
14:26:52.0142214 I  pyvalerie::run E2-recording not recognized as TV show => 
trying to parse as movie... 

weil dort kommt eindeutig was zurück...

du verwenst anscheined das webif um den sync zu starten. kannst du mal über 
den fernseher den sync starten und das log file posten. vielleicht haben wir 
einen nebeneffekt durch das webif.

thx

Original comment by DonDavici@gmail.com on 29 Feb 2012 at 7:40

GoogleCodeExporter commented 8 years ago
Ist schon länger her, dass ich der Ecke mal zugange war, aber ich meine mich 
erinnern zu können, dass da noch ein zusätzlicher Check drin ist, WANN das 
Ergebnis als "gültig" angenommen wird... 

Anyhow: schaun'mer mal, was der Sync via PVMC bringt...

Original comment by erik.for...@gmail.com on 29 Feb 2012 at 7:48

GoogleCodeExporter commented 8 years ago
Werd morgen mal einen Sync per PVMC starten und das Logfile posten. 

Was mich wundert ist das von ca. 40-50 aufgenommenen Seinfeld Folgen, alle im 
selben Format, nur vier nicht erkannt werden. Ich hab mir mal die .eit Files 
angeschaut aber bis auf die Sonderzeichen zwischen den Daten sind alle gleich 
aufgebaut. Soll ich zwei .eit Files, eins von einer Folge die erkannt wird und 
eins von einer Folge die nicht erkannt wird, auch mal mit hochladen?

Das genau diese Folgen nicht erkannt werden und dann als Film Comedian 
erscheinen war bei r10201 gestern auch der Fall allerdings lief der Sync noch 
bis zum Ende durch.

Original comment by jeeee.re...@gmail.com on 29 Feb 2012 at 9:24

GoogleCodeExporter commented 8 years ago
Ich hab auf r1207 aktualisiert und versucht zu syncen. Bleibt leider wieder 
stehen. Sowohl per WebIF als auch per PVMC. Hab zwei logs angehängt.

Ich hab auch mal selber in das log geschaut und festgestellt das die Folge 
eigentlich korrekt erkannt wird aber dann trotzdem aus irgendeinem Grund weiter 
gesucht wird:

11:44:26.0359483 I  MediaInfo::parse :-1:  120119 0409 - tnt serie - seinfeld
11:44:26.0363151 I  MediaInfo::parse Check for IMDb-ID in filename '20120119 
0409 - tnt serie - seinfeld'
11:44:26.0367615 I  MediaInfo::isNfoAvailable Check presence of nfo file: 
/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - Seinfeld.nfo
11:44:26.0372128 I  MediaInfo::parse :0:  120119 0409 - tnt serie - seinfeld
11:44:26.0380626 I  MediaInfo::parse (isMovie is False) => assuming TV show - 
trying to get season and episode from SearchString:  120119 0409 - tnt serie - 
seinfeld
11:44:26.0388032 I  MediaInfo::parse [[[   120119   0409  - tnt serie - seinfeld
11:44:26.0391986 I  MediaInfo::setMediaType -> 2
11:44:26.0401852 I  MediaInfo::parse :2:   4 9 None

bis hier sieht alles ok aus. Mit dem Dateinamen findet er nichts. Klar.

also schaut Valerie in die ts.meta datei:

1:0:1:32:1:85:C00000:0:0:0:
Seinfeld
Der Fusilli-Jerry
1326942540

121478400
602882160
f:0,c:0009ff,c:010a00,c:020020,c:0309ff

11:44:26.0408113 I  MediaInfo::parse Extension == 'ts' and E2 meta file found 
=> retrieving name from '/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - 
TNT Serie - Seinfeld.ts'
11:44:26.0411761 I  MediaInfo::getEnigma2RecordingName Read from 
'/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - 
Seinfeld.ts.meta'
11:44:26.0438841 I  MediaInfo::getEnigma2RecordingName MovieName = 'Seinfeld' - 
EpisodeName = 'Der Fusilli-Jerry'
11:44:26.0442094 I  Enimga2MetaInfo::__init__ IS Episode
11:44:26.0446957 I  MediaInfo::parse e2info: Seinfeld - Der 
Fusilli-Jerry,False,True
11:44:26.0450114 I  MediaInfo::parse Assuming TV-Show...

Soweit so gut. Seinfeld und die korrekte Folge hat er auch aus dem meta file 
gesucht.

11:44:26.0455300 I  MediaInfo::parse Season / episode seem not to be retrieved 
from filename => resetting...
11:44:26.0459626 I  MediaInfo::setMediaType -> 2

Aber hier versteh ich nicht mehr was passiert: Jetzt wurde wieder im dateinamen 
gesucht und ist meidaType 2 evtl für Filme??

11:44:26.0463385 I  MediaInfo::parse e2info:: Returning to sync process using 
SearchString '"Seinfeld":: "Der Fusilli-Jerry"'
11:44:26.0466460 I  pyvalerie::run TheTvDbId: 
11:44:26.0470196 I  pyvalerie::run isXbmcNfo == False => checking for E2 
recorded TV show... 
11:44:26.0475610 I  pyvalerie::run E2-recorded TV-Show => checking if season 
and episode already set... 
11:44:26.0479313 I  pyvalerie::run E2-recorded TV-Show => trying to get season 
and episode from E2 episodename... 
11:44:26.0483021 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName 
Google-query: "Seinfeld":: "Der Fusilli-Jerry"
11:44:26.0488837 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber-> (0) 
http://www.google.com/search?q="Seinfeld":: "Der Fusilli-Jerry"
11:44:27.0277417 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'str'> http://www.google.com/search?q="Seinfeld":: "Der Fusilli-Jerry"
11:44:27.0461483 I  GoogleProvider::searchForSeasonAndEpisode m.group()=s06e20

Hier hat er jetzt sogar Staffel und Folge korrekt erkannt.

11:44:27.0465050 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName  <- None 
(eof)
11:44:27.0468023 I  pyvalerie::run E2-recording not recognized as TV show => 
trying to parse as movie... 

Und jetzt ist es auf einmal doch keine TV Show?!?

Aber hier läuft dann alles falsch. Die korrekten Daten werden verworfen und es 
wird versucht ein Film zu finden obwohl ja der Ordnertyp auf TV stehe.

11:44:27.0474352 I  MediaInfo::setMediaType -> 1
11:44:27.0477892 I  pyvalerie::run New searchString after split: "Seinfeld"
11:44:27.0481407 I  pyvalerie::run Get IMDb ID from title using searchString: 
"Seinfeld"
11:44:27.0499061 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://m.imdb.com/find?q="Seinfeld"
11:44:28.0015342 I  MobileImdbComProvider::getMoviesByTitle Results are: 
11:44:28.0020336 I  MobileImdbComProvider::getMoviesByTitle 
    Seinfeld:1990:tt0098904:True
11:44:28.0026135 I  MobileImdbComProvider::getMoviesByTitle 
    Comedian:2002:tt0328962:False
11:44:28.0031843 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
'I'm Telling You for the Last Time':1998:tt0500140:False
11:44:28.0035857 I  MobileImdbComProvider::getMoviesByTitle     The Seinfeld 
Chronicles:1989:tt0098286:False
11:44:28.0039728 I  MobileImdbComProvider::getMoviesByTitle     Abbott and 
Costello Meet Jerry Seinfeld:1994:tt0254061:False
11:44:28.0043401 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
The Comedian Award:2007:tt0981299:False
11:44:28.0047527 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
Stand-Up Confidential:1987:tt0158687:False
11:44:28.0054492 I  MobileImdbComProvider::getMoviesByTitle     The Seinfeld 
Story:2004:tt0438407:False
11:44:28.0061492 I  MobileImdbComProvider::getMoviesByTitle     Running with the 
Egg: Making a 'Seinfeld':2005:tt0795570:False
11:44:28.0065516 I  MobileImdbComProvider::getMoviesByTitle     ECW It Ain't 
Seinfeld:1998:tt0371654:False
11:44:28.0071990 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld, 
Submarine Captain:2007:tt1071221:False
11:44:28.0075972 I  MobileImdbComProvider::getMoviesByTitle     Seinfeld: Jason + 
Larry = George:2005:tt0795571:False
11:44:28.0079713 I  MobileImdbComProvider::getMoviesByTitle     The Bench: Life 
Before 'Seinfeld':2004:tt0478524:False
11:44:28.0083596 I  MobileImdbComProvider::getMoviesByTitle     Who the F#ck Is 
Chip Seinfeld?:2011:tt1338705:False
11:44:28.0087304 I  MobileImdbComProvider::getMoviesByTitle     Young 
Seinfeld:2002:tt0940798:False
11:44:28.0093704 I  MobileImdbComProvider::getMoviesByTitle     25 Things You 
Didn't Know About Seinfeld:2010:tt1972569:False
11:44:28.0098947 I  MobileImdbComProvider::getMoviesByTitle     Muslim 
Seinfeld:2009:tt1543541:False
11:44:28.0103303 I  MobileImdbComProvider::getMoviesByTitle     On the Set of 
Seinfeld XXX 2:2010:tt1735459:False
11:44:28.0106680 I  MobileImdbComProvider::getMoviesByTitle Searched media is a 
movie - but result seems to be a TV-show => skip...
11:44:28.0113326 I  MobileImdbComProvider::getMoviesByTitle Get movie by ID 
'tt0328962'
11:44:28.0125616 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://m.imdb.com/title/tt0328962/
11:44:28.0145015 I  MobileImdbComProvider::getTitle ->
11:44:28.0151200 I  MobileImdbComProvider::getTitle <- Title: Comedian
11:44:28.0154912 I  MobileImdbComProvider::getPlot ->
11:44:28.0160012 I  MobileImdbComProvider::getPlot <- Plot: A look at the work 
of two stand-up comics, Jerry Seinfeld and a lesser-known newcomer, detailing 
the effort and frustration behind putting together a successful act and career 
while living a life on the road.
11:44:28.0163297 I  MobileImdbComProvider::getRuntime ->
11:44:28.0167821 I  MobileImdbComProvider::getRuntime <- Runtime: 82 mins
11:44:28.0174268 I  MobileImdbComProvider::getGenre ->
11:44:28.0179384 I  MobileImdbComProvider::getGenre <- Genres: Documentary
11:44:28.0188269 I  MobileImdbComProvider::getMoviesByTitle Get movie by ID 
succeeded: tt0328962'
11:44:28.0205743 I  pyvalerie::run Finally about to sync element... 
11:44:28.0215973 I  Sync::syncWithId ->
11:44:28.0235583 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/en/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
11:44:28.0446287 I  encoded utf-8
11:44:28.0964105 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/de/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
11:44:29.0180893 I  encoded utf-8
11:44:29.0281919 I  TheMovieDbProvider::getMovie  <- None (eof)
11:44:29.0299790 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://www.imdb.de/title/tt0328962/plotsummary
11:44:29.0342708 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/en/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
11:44:29.0550547 I  encoded utf-8
11:44:29.0598449 I  Arts::download overwrite => False
11:44:29.0602615 I  Arts::preSave overwrite => False
11:44:29.0610524 I  Arts::preSave overwrite => False
11:44:29.0626160 I  Sync::syncWithId <- (return (elementInfo, ))
11:44:29.0629718 I  pyvalerie::run results: 
(<Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MediaInfo.MediaIn
fo object at 0x1eec96c>,)
11:44:29.0635514 S  Database::insertMedia ->
11:44:29.0639450 S  databaseHandlerPICKLEV2::insertMedia ->
11:44:29.0658716 H  databaseHandlerPICKLEV2::_getNextKey NextKey: 1153
11:44:29.0670247 H  databaseHandlerPICKLEV2::_getNextId Released Mutex for 
NextId: 1337
11:44:30.0005057 I  pyvalerie::run my_title Comedian
11:45:36.0183200 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncPercentage HTTP/1.1>
11:45:36.0188189 I  SyncFunctions::action request.args: {'mode': 
['getSyncPercentage']}
11:45:36.0191438 I  SyncFunctions::action request.args[mode]: 
['getSyncPercentage']
11:45:36.0194700 I  SyncFunctions::action mode (getSyncPercentage)
11:45:36.0301270 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=5 HTTP/1.1>
11:45:36.0304803 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['5']}
11:45:36.0310776 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
11:45:36.0313946 I  SyncFunctions::action mode (getSyncLog)
11:45:36.0358679 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=3 HTTP/1.1>
11:45:36.0361943 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['3']}
11:45:36.0364865 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
11:45:36.0370637 I  SyncFunctions::action mode (getSyncLog)
11:45:36.0458881 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=6 HTTP/1.1>
11:45:36.0462127 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['6']}
11:45:36.0465045 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
11:45:36.0471170 I  SyncFunctions::action mode (getSyncLog)

Ab hier läuft es dan in schleife und nichts mehr passiert.

Die Folge taucht aber trotzdem schon als Film Comedian auf obwohl der Sync hier 
nicht weiter läuft.

Original comment by jeeee.re...@gmail.com on 1 Mar 2012 at 11:45

Attachments:

GoogleCodeExporter commented 8 years ago
Hi j.r.,

nur ganz kurz... ich habe gerade mal in den Code geschaut und das hier stimmt 
leider nicht (und das ist auch der Punkt, wo es dann schief läuft):

> 11:44:27.0461483 I  GoogleProvider::searchForSeasonAndEpisode m.group()=s06e20
> Hier hat er jetzt sogar Staffel und Folge korrekt erkannt.

Wenn ich das richtig im Code sehe, dann brauchen wir von Google ZWEI Treffer, 
die das gleiche Ergebnis bringen (zumindest sollte so wohl die Logik sein) - 
ansonsten verwerfen wir es.

Meine Erfahrung ist, dass es immer problematisch ist, die Staffel und 
Episoden-Infos aufgrund des Episoden-Namens herauszufinden - und deshalb hatte 
ich vorgeschlagenn, PVMC diese Info einfach mal im Dateinamen mitzugeben (also 
testhalber das File mal umzubenennen).

Ich schau später nochmal genauer in's Log....

Gruß, Erik

Original comment by erik.for...@gmail.com on 1 Mar 2012 at 12:15

GoogleCodeExporter commented 8 years ago
Hab nun mal das besagte File umbenannt und "S6E21" eingefügt.

Allerdings geht es wieder an genau der selben Stelle schief bei der Google 
Abfrage wo die falsche Staffel kommt. Dann macht valerie wieder einen Film 
daraus... :(

Die Angabe zur Staffel und Folge werden scheinbar nicht erkannt, ich tippe mal 
weil da noch 20120119 0409 im Dateinamen steht...

Ich finde das ist aber auch keine Lösung die .ts datein zu bearbeiten. Der 
Name wird ja von e2 vergeben und die infos sind doch im meta file vorhanden.

Weiss auch nicht warum du das problematisch siehst Folgen einer Serien anhand 
des Titels zu identifizieren? Das sollte immer recht eindeutig sein.
Es klappt ja auch bei 50 anderen Folgen die genauso aufgenommen sind. Da gibt 
es auch nicht mehr Informationen aber alles wird korrekt erkannt.

Im Grunde wäre es ja auch alles halb so wild. Die paar Einträge bieg ich mir 
auch per Hand zurecht. Allerdings hab ich keine Lust das nach jedem Sync zu 
machen!
Einmal ist ja ok aber warum solche "problem files" beim jedem Sync dann wieder 
falsch in der DB steht begreif ich nicht. 

Evtl ist der Bug schneller zu finden? Das würde schonmal enorm helfen...

13:04:33.0690730 I  pyvalerie::run   -> /media/autofs/sdb1/archiv/Seinfeld/
    20120119 0409 - TNT Serie - Seinfeld - S06E21.ts
13:04:33.0694006 I  pyvalerie::run FOLDERTYPE: TV
13:04:33.0696835 I  pyvalerie::run USEFOLDER: False
13:04:33.0703096 I  MediaInfo::setMediaType -> 2
13:04:33.0727169 I  MediaInfo::isEnigma2Recording Found E2 meta file: 
/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - Seinfeld - 
S06E21.ts.meta
13:04:33.0732086 I  MediaInfo::parse Replacements PRE on 20120119 0409 - tnt 
serie - seinfeld - s06e21
13:04:33.0736359 I  MediaInfo::parse    Step 1: ^\w\d ->   = 20120119 0409 - tnt 
serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0744266 I  MediaInfo::parse    Step 2: \. ->   =  120119 0409 - tnt 
serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0749539 I  MediaInfo::parse    Step 3: \[\]-_ ->   =  120119 0409 - tnt 
serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0754504 I  MediaInfo::parse    Step 4: ^[^-\s]*- ->   =  120119 0409 - 
tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0760121 I  MediaInfo::parse    Step 5: _ ->   =  120119 0409 - tnt serie 
- seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0765911 I  MediaInfo::parse    Step 6:  (720p|1080i|1080p)( |$)+ ->   =  
120119 0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - 
seinfeld - s06e21
13:04:33.0770362 I  MediaInfo::parse    Step 7:  (x264|blu-ray|bluray|hdtv|xvid)( 
|$)+ ->   =  120119 0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt 
serie - seinfeld - s06e21
13:04:33.0774687 I  MediaInfo::parse    Step 8:  (eng|rus)( |$)+ ->   =  120119 
0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - 
s06e21
13:04:33.0781481 I  MediaInfo::parse    Step 9:  (oar)( |$)+ ->   =  120119 0409 
- tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - s06e21
13:04:33.0786384 I  MediaInfo::parse    Step 10:  (miniseries)( |$)+ ->   =  
120119 0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - 
seinfeld - s06e21
13:04:33.0791112 I  MediaInfo::parse    Step 11:  (dts|dd5|ac3|stereo)( |$)+ ->   
=  120119 0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - 
seinfeld - s06e21
13:04:33.0795118 I  MediaInfo::parse    Step 12:  (xbox)( |$)+ ->   =  120119 
0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt serie - seinfeld - 
s06e21
13:04:33.0802021 I  MediaInfo::parse    Step 13:  [\[](720p|1080i|1080p)[\]]( 
|$)+ ->   =  120119 0409 - tnt serie - seinfeld - s06e21 ->  120119 0409 - tnt 
serie - seinfeld - s06e21
13:04:33.0806018 I  MediaInfo::parse :-1:  120119 0409 - tnt serie - seinfeld - 
s06e21
13:04:33.0808929 I  MediaInfo::parse Check for IMDb-ID in filename '20120119 
0409 - tnt serie - seinfeld - s06e21'
13:04:33.0813804 I  MediaInfo::isNfoAvailable Check presence of nfo file: 
/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - Seinfeld - 
S06E21.nfo
13:04:33.0822140 I  MediaInfo::parse :0:  120119 0409 - tnt serie - seinfeld - 
s06e21
13:04:33.0827121 I  MediaInfo::parse (isMovie is False) => assuming TV show - 
trying to get season and episode from SearchString:  120119 0409 - tnt serie - 
seinfeld - s06e21
13:04:33.0831066 I  MediaInfo::setMediaType -> 2
13:04:33.0906330 I  MediaInfo::parse :2:  120119 0409 - tnt serie - seinfeld -  
 6 21 None
13:04:33.0910414 I  MediaInfo::parse Extension == 'ts' and E2 meta file found 
=> retrieving name from '/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - 
TNT Serie - Seinfeld - S06E21.ts'
13:04:33.0913687 I  MediaInfo::getEnigma2RecordingName Read from 
'/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - Seinfeld - 
S06E21.ts.meta'
13:04:33.0926586 I  MediaInfo::getEnigma2RecordingName MovieName = 'Seinfeld' - 
EpisodeName = 'Der Fusilli-Jerry'
13:04:33.0930141 I  Enimga2MetaInfo::__init__ IS Episode
13:04:33.0935063 I  MediaInfo::parse e2info: Seinfeld - Der 
Fusilli-Jerry,False,True
13:04:33.0941250 I  MediaInfo::parse Assuming TV-Show...
13:04:33.0944634 I  MediaInfo::parse Season / episode seem not to be retrieved 
from filename => resetting...
13:04:33.0947923 I  MediaInfo::setMediaType -> 2
13:04:33.0951232 I  MediaInfo::parse e2info:: Returning to sync process using 
SearchString '"Seinfeld":: "Der Fusilli-Jerry"'
13:04:33.0954436 I  pyvalerie::run TheTvDbId: 
13:04:33.0959523 I  pyvalerie::run isXbmcNfo == False => checking for E2 
recorded TV show... 
13:04:33.0963517 I  pyvalerie::run E2-recorded TV-Show => checking if season 
and episode already set... 
13:04:33.0967017 I  pyvalerie::run E2-recorded TV-Show => trying to get season 
and episode from E2 episodename... 
13:04:33.0971337 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName 
Google-query: "Seinfeld":: "Der Fusilli-Jerry"
13:04:34.0002037 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://www.google.com/search?q="Seinfeld":: "Der Fusilli-Jerry"
13:04:34.0183429 I  GoogleProvider::searchForSeasonAndEpisode m.group()=s06e20
13:04:34.0191160 I  GoogleProvider::getSeasonAndEpisodeFromEpisodeName  <- None 
(eof)
13:04:34.0194265 I  pyvalerie::run E2-recording not recognized as TV show => 
trying to parse as movie... 
13:04:34.0199270 I  MediaInfo::setMediaType -> 1
13:04:34.0203791 I  pyvalerie::run New searchString after split: "Seinfeld"
13:04:34.0207004 I  pyvalerie::run Get IMDb ID from title using searchString: 
"Seinfeld"
13:04:34.0220658 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://m.imdb.com/find?q="Seinfeld"
13:04:34.0730970 I  MobileImdbComProvider::getMoviesByTitle Results are: 
13:04:34.0735039 I  MobileImdbComProvider::getMoviesByTitle 
    Seinfeld:1990:tt0098904:True
13:04:34.0741993 I  MobileImdbComProvider::getMoviesByTitle 
    Comedian:2002:tt0328962:False
13:04:34.0746243 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
'I'm Telling You for the Last Time':1998:tt0500140:False
13:04:34.0750845 I  MobileImdbComProvider::getMoviesByTitle     The Seinfeld 
Chronicles:1989:tt0098286:False
13:04:34.0754863 I  MobileImdbComProvider::getMoviesByTitle     Abbott and 
Costello Meet Jerry Seinfeld:1994:tt0254061:False
13:04:34.0762361 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
The Comedian Award:2007:tt0981299:False
13:04:34.0766687 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld: 
Stand-Up Confidential:1987:tt0158687:False
13:04:34.0770253 I  MobileImdbComProvider::getMoviesByTitle     The Seinfeld 
Story:2004:tt0438407:False
13:04:34.0774579 I  MobileImdbComProvider::getMoviesByTitle     Running with the 
Egg: Making a 'Seinfeld':2005:tt0795570:False
13:04:34.0781334 I  MobileImdbComProvider::getMoviesByTitle     ECW It Ain't 
Seinfeld:1998:tt0371654:False
13:04:34.0785048 I  MobileImdbComProvider::getMoviesByTitle     Jerry Seinfeld, 
Submarine Captain:2007:tt1071221:False
13:04:34.0789016 I  MobileImdbComProvider::getMoviesByTitle     Seinfeld: Jason + 
Larry = George:2005:tt0795571:False
13:04:34.0792983 I  MobileImdbComProvider::getMoviesByTitle     The Bench: Life 
Before 'Seinfeld':2004:tt0478524:False
13:04:34.0811115 I  MobileImdbComProvider::getMoviesByTitle     Who the F#ck Is 
Chip Seinfeld?:2011:tt1338705:False
13:04:34.0823000 I  MobileImdbComProvider::getMoviesByTitle     Young 
Seinfeld:2002:tt0940798:False
13:04:34.0834624 I  MobileImdbComProvider::getMoviesByTitle     25 Things You 
Didn't Know About Seinfeld:2010:tt1972569:False
13:04:34.0848503 I  MobileImdbComProvider::getMoviesByTitle     Muslim 
Seinfeld:2009:tt1543541:False
13:04:34.0866414 I  MobileImdbComProvider::getMoviesByTitle     On the Set of 
Seinfeld XXX 2:2010:tt1735459:False
13:04:34.0879037 I  MobileImdbComProvider::getMoviesByTitle Searched media is a 
movie - but result seems to be a TV-show => skip...
13:04:34.0972142 I  MobileImdbComProvider::getMoviesByTitle Get movie by ID 
'tt0328962'
13:04:35.0012066 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://m.imdb.com/title/tt0328962/
13:04:35.0056415 I  MobileImdbComProvider::getTitle ->
13:04:35.0084531 I  MobileImdbComProvider::getTitle <- Title: Comedian
13:04:35.0290598 I  MobileImdbComProvider::getPlot ->
13:04:35.0348012 I  MobileImdbComProvider::getPlot <- Plot: A look at the work 
of two stand-up comics, Jerry Seinfeld and a lesser-known newcomer, detailing 
the effort and frustration behind putting together a successful act and career 
while living a life on the road.
13:04:35.0381914 I  MobileImdbComProvider::getRuntime ->
13:04:35.0444319 I  MobileImdbComProvider::getRuntime <- Runtime: 82 mins
13:04:35.0456856 I  MobileImdbComProvider::getGenre ->
13:04:35.0475835 I  MobileImdbComProvider::getGenre <- Genres: Documentary
13:04:35.0488894 I  MobileImdbComProvider::getMoviesByTitle Get movie by ID 
succeeded: tt0328962'
13:04:35.0496158 I  pyvalerie::run Finally about to sync element... 
13:04:35.0515009 I  Sync::syncWithId ->
13:04:35.0573843 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/en/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
13:04:36.0632644 I  encoded utf-8
13:04:37.0387888 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/de/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
13:04:37.0616760 I  encoded utf-8
13:04:37.0728265 I  TheMovieDbProvider::getMovie  <- None (eof)
13:04:37.0744674 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> http://www.imdb.de/title/tt0328962/plotsummary
13:04:37.0787986 I  
Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.WebGrabber<- <type 
'unicode'> 
http://api.themoviedb.org/2.1/Movie.imdbLookup/en/xml/7bcd34bb47bc65d20a49b6b446
a32866/tt0328962
13:04:38.0004808 I  encoded utf-8
13:04:38.0047689 I  Arts::download overwrite => False
13:04:38.0050850 I  Arts::preSave overwrite => False
13:04:38.0107967 I  Arts::preSave overwrite => False
13:04:38.0120622 I  Sync::syncWithId <- (return (elementInfo, ))
13:04:38.0127519 I  pyvalerie::run results: 
(<Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MediaInfo.MediaIn
fo object at 0x1fa302c>,)
13:04:38.0130632 S  Database::insertMedia ->
13:04:38.0133983 S  databaseHandlerPICKLEV2::insertMedia ->
13:04:38.0155744 H  databaseHandlerPICKLEV2::_getNextKey NextKey: 1150
13:04:38.0159674 H  databaseHandlerPICKLEV2::_getNextId Released Mutex for 
NextId: 1335
13:04:38.0498700 I  pyvalerie::run my_title Comedian
13:04:39.0962552 I  pyvalerie::run Deleting and resync FailedItem
13:04:39.0966028 S  Database::deleteMedia ->
13:04:39.0968819 S  databaseHandlerPICKLEV2::deleteMedia ->
13:04:39.0974692 S  databaseHandlerPICKLEV2::_getMediaKeyWithId ->
13:04:40.0041052 A  databaseHandlerPICKLEV2::_getMediaKeyWithId result key: 
1147  for id:1331
13:04:40.0046556 I  pyvalerie::run 
############################################################

Original comment by jeeee.re...@gmail.com on 1 Mar 2012 at 12:33

GoogleCodeExporter commented 8 years ago
Hi Nochmal,

erstmal Danke für's Testen... :-) leider scheinst Du auch das meta-File mit 
umbenannt zu haben, oder? Zumindest sieht es im Log so danach aus:

13:04:33.0913687 I  MediaInfo::getEnigma2RecordingName Read from 
'/media/autofs/sdb1/archiv/Seinfeld//20120119 0409 - TNT Serie - Seinfeld - 
S06E21.ts.meta'
13:04:33.0926586 I  MediaInfo::getEnigma2RecordingName MovieName = 'Seinfeld' - 
EpisodeName = 'Der Fusilli-Jerry'

Genau das wollte ich ja vermeiden...

Weiter schreibst Du:
> Ich finde das ist aber auch keine Lösung die .ts datein zu bearbeiten. 
> Der Name wird ja von e2 vergeben und die infos sind doch im meta file 
vorhanden.

Das sollte auch keine "Lösung" sein - ich versuche nur, den Fehler 
einzugrenzen. ;-)

Und ja, die Infos sind zwar im Meta-File vorhanden - allerdings ist die 
Qualität dieser Infos, die da in den Metafiles stehen, äußerst 
unterschiedlich, und was noch schwerer wiegt: es gibt da (angeblich) keinen 
Standard, wie die Files zu füllen sind. Ich kann mich an einen User aus dem 
iHAD-Forum erinnern, der mir da freundlicherweise mal einen ganzen Sacke an 
Metafiles zur Verfügung gestellt hat und mal stand bei Filmen in der zweiten 
Zeile der komplette Plot, dann war sie leer, bei anderen Files wurde dort der 
Filmname nochmal wiederholt - das alles macht diese Informationsquelle für 
Valerie nicht unbedingt "besser", wenn Du verstehst was ich meine. Gäbe es 
einen Standard a la "Bei Filmen steht in der ersten Zeile der Name - die zweite 
Zeile ist leer" und "bei Serien steht in der ersten Zeile der Name der Serie 
und in der zweiten Zeile der Episoden-Name" wäre das alles etwas einfacher. 
Aber egal: wenn das bei Dir bei 50 Serien alles passt - umso besser... :-)

Dann noch zu Deiner anderen Frage:
> Weiss auch nicht warum du das problematisch siehst Folgen einer Serien 
> anhand des Titels zu identifizieren? Das sollte immer recht eindeutig sein.

Zum einen wegen der Qualität der Meta-Files (siehe oben => ich hab da wie 
gesagt schon einiges an Durcheinander drin gesehen. Wenn das bei Dir zum 
Großteil passt, dann kann man Dich nur beglückwünschen und ich hoffe, das 
bleibt so! :-)  ).
Zum anderen, weil - wie in Deinem Fall ja auch - es sehr schnell passieren 
kann, dass wir über die Google Suche eben NICHT die richtige Staffel und 
Episoden-Nummer bekommen! Wir machen da wie gesagt eine stinknormale google 
query mit den Daten, die wir aus dem Metafile haben - und hoffen, dass wir aus 
dem Google Result dann "irgendwelche" Muster finden in der Art sXXeYY oder 
ähnlich.

Und da kann es natürlich passieren, dass Seiten mit dabei sind, die eine 
Übersicht über ALLE Folgen der gesuchten Staffel auf einer Page 
zusammengefasst haben - also zwanzig oder dreißig mal sXXeYY oder welche 
Schreibweise da auch immer benutzt wird - da müssen wir natürlich auch die 
unterschiedlichsten Varianten berücksichtigen... Deshalb vermutlich auch 
dieser Counter, dass wir 2x das gleiche Ergebnis sehen wollen, bevor wir es 
übernehmen.

Ich hatte gerade gestern wieder in einem Log gesehen, dass bei dieser 
Google-Suche drei unterschiedliche Staffel und Episoden-Nummern gefunden wurden 
- was soll Valerie denn da für ein Ergebnis nehmen?

Deshalb mein Einwurf: Suche nach Episoden-Name ist m.M.n. problematisch. Wenn 
man diese Infos gleich im Namen drin hat (und KEIN!!! metafile für diesen 
Namen existiert ;-)  ), dann nimmt Valerie direkt Staffel- und Episoden-Nummern 
aus dem Dateinamen und versucht erst gar nicht, über eine stinknormale 
Google-Suche an die Nummern zu kommen. Und wir brauchen nunmal Staffel und 
Episoden-Nummern - und nicht die Namen... :-(

Falls Du Lust und Laune hast, würde ich Dich bitten, das ganze nochmal ohne 
Metafile zu probieren, also das metafile einfach testweise mal umbenennen, 
damit valerie eben nicht diese Google-Query anwerfen muss. Ich werde in der 
Zwischenzeit mal versuchen, exakt Deinen testcase bei mir lokal nachzustellen - 
mir ist da bei der Google-Query in Deinem Log gerade was aufgefallen, was mich 
etwas irritiert...

Soweit erstmal...

Gruß, Erik  

Original comment by erik.for...@gmail.com on 1 Mar 2012 at 2:14

GoogleCodeExporter commented 8 years ago
Hallo,

ja das meta file und alle anderen datein hab ich mit umbenannt da es ja sonst 
Probleme in der normalen E2 Ansicht gibt bzw dort dann die Daten fehlen.

> Das sollte auch keine "Lösung" sein - ich versuche nur, den Fehler 
einzugrenzen. ;-)
...

Ok, verstehe. Ich denke das Problem sind die Sender. Teilweise wird in der Tat 
einfach der Name der Serien nochmal als "short descrition" per EPG gesendet. 
Bei den "Guten" kommt an der Stelle der Name der Folge.

Die Seinfeld Folgen sind halt alle vom TNT Serie und daher im selben Format.

Mir war aber nicht klar das Valerie eine normale google suche startet, dann ist 
natürlich klar warum es nicht immer klappt bzw das Ergbniss ein wenig 
glücksache ist. Vielleicht könnte man an der Stelle mal was verändern? Wenn 
man zB bei serienjunkies.de "Seinfeld Der Fusilli-Jerry" sucht erscheint die 
korrekt Folge. Oder wenn man bei google die suche auf serienjunkies.de 
beschränkt kommt auch die korrekte Folge im ersten Ergebniss. Also über 
"site:serienjunkies.de 'Seinfeld' 'Der Fusilli-Jerry'".

Könnte man evtl so anwenden wenn der Ordner Typ auf "TV" steht und eine Suche 
nach Filmen eh sinnlos ist. Ich finde eh das ist momentan eh nicht korrekt 
gelöst. Es gibt den Typ "Movie", "TV" und "Movie & TV". Dann sollte beim Typ 
TV auch nur nach TV gesucht werden.

Bei den .ts files besteht der Dateinamen ja immer aus dem Sender, dem Namen der 
Sendung und einem Timestamp (20120119 0409). Beim Sync wird aber auch nach dem 
Timestamp gesucht der ja im Grunde keine bedeutung hat. Ich denke es wäre 
besser das bei .ts files dieses timestamp zu erkennen und wegzulassen.

Hierauf bist du leider nicht eingegangen:

Im Grunde wäre es ja auch alles halb so wild. Die paar Einträge bieg ich mir 
auch per Hand zurecht. Allerdings hab ich keine Lust das nach jedem Sync zu 
machen!
Einmal ist ja ok aber warum solche "problem files" beim jedem Sync dann wieder 
falsch in der DB steht begreif ich nicht. 

Das ist meiner Meinung nach der wesentlich schwerwiegendere Bug. Warum werden 
einmal erkannt Files wieder neu identifiziert? Damit ist das ganze per Hand 
bearbeiten doch total sinnlos oder seh ich das falsch?

Original comment by jeeee.re...@gmail.com on 1 Mar 2012 at 5:19

GoogleCodeExporter commented 8 years ago
noch was vergessen:

> Falls Du Lust und Laune hast, würde ich Dich bitten, das ganze nochmal ohne 
Metafile zu probieren, also das metafile einfach testweise mal umbenennen, 
damit valerie eben nicht diese Google-Query anwerfen muss. Ich werde in der 
Zwischenzeit mal versuchen, exakt Deinen testcase bei mir lokal nachzustellen - 
mir ist da bei der Google-Query in Deinem Log gerade was aufgefallen, was mich 
etwas irritiert...

Klar, wenn ich den Dateinamen anpasse wird es klappen. Aber dann müßte man 
alle Aufnahmen im Grunde per Hand identifizieren und dann den Dateinamen 
bearbeiten. Dann besser die 10% der Folgen die nicht korrekt erkannt werden per 
WebIF bearbeiten, wenn das dauerhaft gespeichert werden würde...

Original comment by jeeee.re...@gmail.com on 1 Mar 2012 at 5:25

GoogleCodeExporter commented 8 years ago
Hi j.r.

> Klar, wenn ich den Dateinamen anpasse wird es klappen. 
> Aber dann müßte man alle Aufnahmen im Grunde per Hand identifizieren und 
dann den Dateinamen bearbeiten. 

Arrrgghhh... :-)

Nein - wie gesagt: das sollte KEIN Workaround werden und Du solltest auch nicht 
ALLE Files auf diese Weise umbenennen - davon war nie die Rede (zumindest kann 
ich mich daran nicht erinnern ;-)  ) - es sollte einfach nur ein Test sein, ob 
Valerie dann (durch das Umbenennen) dieses File richtig erkennt und in die 
Datenbank schreibt und anschließend vernünftig weitersynct oder gleich beim 
nächsten File, das dann vermutlich wieder als "Comedian" erkannt wird, wieder 
auf die Nase fällt.

Der Hintergrund der ganzen Aktion:
laut Log bleibt Valerie ja nicht beim eigentlichen Syncen hängen, sondern erst 
am Ende beim Bearbeiten der Datenbank(!). Das brachte mich auf die Idee, ob 
nicht vielleicht die Datenbank (nach x failed "Comedians") das Problem ist. Um 
das zu checken, dachte ich mir halt, es wäre interessant, Valerie zwischendrin 
(also nach x failed Comedians) nochmal was richtiges in die Datenbank schreiben 
zu lassen und dann zu schauen, wie der Sync-Lauf weitergehen würde.

Aber: vielleicht würde sich Valerie ja auch bei einem korrekt gefundenen Titel 
und beim Schreiben in die DAB aufhängen? Also ich fände das einen 
interessanten Hinweis, denn das würde dann eher in Richtung Datenbank 
deuten... Aber wie gesagt: wenn das bei Dir zu viel Durcheinander macht, ist 
das auch OK - ich  werde versuchen, Dein Environment bei mir nachzustellen und 
dann kann ich ja selbst probieren und umbenennen und machen und tun, ohne Dich 
ständig um noch weitere Tests zu bitten und zu nerven... :-)

Zu Deinen restlichen Anmerkungen:
Ja, es gibt da sicher noch viele Punkte, die man beim Syncen optimieren 
könnte, sprich, dass Checks / Abfragen gemacht werden, die in bestimmten 
Situationen einfach unnütz sind etc. Das fängt damit an, dass beim Plot laden 
immer erstmal "Englisch" geholt wird und anschließend das ganze nochmal mit 
der eigentlichen Sync-Sprache überschrieben wird und hört mit dem bauen des 
Suchstrings, der x-Mal überschrieben wird, NICHT auf... ;-) 
ABER: ich traue mir momentan nicht zu, da größere Änderungen zu machen, dann 
dafür müsste man alle möglichen Use-Cases kennen und nach dem Umbau diese 
gründlichst Nachtesten, um sicherzustellen, dass noch alles so funktioniert, 
wie man das erwartet. 

Bzgl. holen von Staffel und Episoden-Nummern aus den Namen:
Mit dem Google-provider hatte ich letztes Jahr schonmal die Ehre, denn jedes 
Mal wenn Google auf seiner Ergebnisseite was größeres umbaut, stehen die 
Chancen nicht schlecht, dass wir da auch was ändern müssen. Sowas ähnliches 
könnte jetzt auch wieder der Fall sein, aber wie gesagt: das schaue ich mir 
dann mal genauer an.
Wie auch immer: die Idee mit einer festen Seite, die wir befragen (anstelle der 
allgemeinen Google-Suche) hatte ich letztes Jahr auch schon, aber: wenn wir 
serienjunkies.de benutzen - was machen wir dann mit Usern aus anderen Ländern? 
Bei denen dürften die Serien und Episoden ja dann anders heißen und bei 
serienjunkies habe ich (damals zumindest) keine Möglichkeit gesehen, die 
Sprache umzuschalten...

Und last but not least: zu der Sache mit den immer wieder überschriebenen 
Änderungen kann ich leider nichts sagen. ich hätte erwartet, dass zumindest 
bei einem "Partial sync" die bereits bestehenden Änderungen nicht mehr 
angerührt werden. Aber wie auch immer: vorstellen könnte ich mir ein Flag in 
der Datenbank, mit dem Valerie sich merkt, welche Datensätze manuell editiert 
wurden und diese werden dann bei zukünftigen Sync-Läufen nicht mehr 
angerührt - vielleicht kann Don da mehr zu sagen?

Wie gesagt: ich versuche, nicht zuletzt aus diesem Grund, manuelle Änderungen 
zu vermeiden und nutze auch diese Enigma2 metafiles nicht - sehe aber auch, 
dass das nicht für jeden User die ideale Vorgehensweise ist. Von daher kann 
ich Deine Kritik voll und ganz nachvollziehen und vielleicht lässt sich da ja 
noch was anpassen, damit diese Änderungen zukünftig bestehen bleiben.

Ich hoffe, ich habe alle Fragen / Anmerkungen erwischt... Ich schnapp mir auch 
erstmal dieses Issue, damit das nicht so "offen" hier rumliegt... :-)

Gruß & schönen Rest vom Abend!

-Erik

Original comment by erik.for...@gmail.com on 1 Mar 2012 at 6:36

GoogleCodeExporter commented 8 years ago
Achso, ok sorry ich wußte ja nicht worauf die hinaus willst. ;)

Werde das morgen mal testen: Datenbank unverändert lassen, nur die Datei bei 
der es hing umbenennen (ohne metafile). 

Ein Problem bzgl. der Serienjunkies.de Suche seh ich allerdings nicht. Wenn man 
zB Serienjunkies.de zur identifizierung deutscher Serien einbaut hat das doch 
nicht zwangsläufig Auswirkungen auf andere Sprachen? Die Abfrage darf dann 
natürlich nur für Serien auf deutsch benutzt werden. Für andere Sprachen 
benutzt man dann weiterhin die normale Google Suche und/oder baut halt weitere 
Seiten für andere Sprachen ein.

Original comment by jeeee.re...@gmail.com on 1 Mar 2012 at 7:04

GoogleCodeExporter commented 8 years ago
Hi nochmal,

nun, ich persönlich finde so eine "Zerfledderung" des Codes nach Sprachen 
nicht wirklich prickelnd - aber Du hast natürlich recht: wenn man sowas in 
Kauf nimmt und abhängig von der Sprache unterschiedliche Seiten zur Abfrage 
der Serien-Infos haben möchte, dann geht das natürlich. Mich würde daran 
auch stören, dass die Seiten natürlich immer nachgepfelgt werden müssen - 
jedes mal, wenn sich dort was ändert, müssten wir dann den Parser ebenfalls 
wieder anpassen, so wie wir das heute schon bei Google haben... :-(

Aber: ich schlage vor, dass Du einfach mal einen enhancement request für die 
Sache aufmachst. Wie gesagt: an der grundsätzlichen Sache störe ich mich ja 
auch => die Verwendung von Google liefert bei der Suche nach Staffel und 
Episoden-Nummern einfach schlechte Ergebnisse und es wäre schön, wenn wir da 
eine Alternative finden. Wie die dann schlussendlich ausschaut, muss man sich 
halt mal Gedanken drüber machen und wenn wir das in einen extra issue 
auslagern, kann man da ja "Brainstorming" machen.

Nur noch kurz zu den Problemen mit Metafiles und weil ich das weiter oben auch 
gerade angesprochen habe: in issue #476 gibt es gerade wieder so ein schönes 
Beispiel:

Für die selbst aufgenommene Serie "Homeland" wurde das Enigma2-Metafile (vom 
Sender?) wie folgt gefüllt:

09:50:20.0939182 I  
MediaInfo::getEnigma2RecordingName MovieName = 'Homeland' 

=> das passt ja noch, ABER:

EpisodeName = 'US drama series. With the warrant expiring, Carrie's team must 
remove all the video surveillance from the Brody house, but Carrie is reluctant 
to let go. Director: Michael Cuesta Starring: Claire Danes, Damian Lewis, 
Morena Baccarin, David Harewood, Diego Klattenhoff, Jackson Pace  (Subtitles)'

=> toller Episoden-Name, oder? Und solche Files habe ich wirklich viele, viele, 
viele gesehen... :-(

Gruß, Erik

Original comment by erik.for...@gmail.com on 1 Mar 2012 at 8:29

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hallo,

wenn man eine nach Sprachen getrennte Suche über eine angepasste Google 
Abfrage realisiert braucht man doch im Grunde nicht viel nachpflegen da die 
Ergebnisse ja über Google kommen und immer gleich aussehen. 
("site:serienjunkies.de 'Name der Serie' 'Name der Folge'".) Man müßte nur 
den Suchstring anpassen und für andere Sprachen ggf weitere Seiten eintragen.

Hier der Feature Request: 
http://code.google.com/p/project-valerie/issues/detail?id=480&thanks=480&ts=1330
689666

Das mit dem falsch gefüllten metafile ist natürlich blöd. Ich denke da wird 
es schwer die auch alle korrekt zu identifizieren. Ich finde man sollte es 
daher so einstellen das zumindest Folgen mit korrekten meta files richtig 
erkannt werden. Wenn die Sender da falsche Informationen Senden dann ist das 
halt Pech.

Teste gleich den Sync und poste die Logs,

Gruß, j.r ;)

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 12:15

GoogleCodeExporter commented 8 years ago
Also ich hab jetzt xmal gesynct und immer das letzte ts file per Hand umbenannt 
im Format "Seinfeld - SXXEYY.ts" (die anderen Datein nicht mit umbenannt) aber 
der Sync bleibt immer nahc der vierten neu erkannten Seinfeld Folge hängen. 
Ganz egal wie die heißen und ob das meta file vorhanden ist oder nicht:

Lade Ersatz
Lade Dateisystem
Synchronisation gestartet
Lade Konfiguration
Lade Daten
Dateiformate: [u'ts', u'mkv', u'iso', u'avi', u'm2ts', u'ifo']
Suche nach Media-Dateien
Gefunden 836 Media-Dateien
(644/836) -> /media/a...einfeld/ >> Seinfeld - S09E06.ts
(656/836) -> /media/a...einfeld/ >> Seinfeld - S07E19.ts
(663/836) -> /media/a...einfeld/ >> Seinfeld - S06E11.ts
(689/836) -> /media/a...einfeld/ >> Seinfeld - S09E22.ts

Das war der letzte Sync bei der alle 5 Problem Folgen umbenannt wurden. 
Während des Sync hängt sind die 4 Folgen in der DB vorhanden. Nach reboot 
fehlen die Folgen allerdings jedes mal wieder. Das umbenennen hat nur insoweit 
geholfen das die Folgen nicht mehr als Film Comedian erscheinen. Sie werden 
jetzt alle korrekt erkannt aber der Sync hängt trotzdem nach dem 4ten File. 
Folge 5 landet nicht mehr in der DB...

Da muss noch irgendwas anderes schief laufen, ich häng mal alle logs mit an. 

Egal was ich mache der Sync geht nicht mehr bis zum Ende durch... :(

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 2:50

Attachments:

GoogleCodeExporter commented 8 years ago
Ich hab jetzt einen kleinen Trick benutzt und die 4 erkannten Folgen die nach 
dem reboot immer wieder weg sind einmal aufgerufen und gespeichert bevor ich 
die Box neu gestartet habe. Die 4 Folgen stehen nun schonmal korrekt in der 
Datenbank. 

Der Sync bleibt nun hängen bevor überhaupt ein neues File gefunden wurde:

Lade Ersatz
Synchronisation gestartet
Lade Daten
Lade Konfiguration
Lade Dateisystem
Dateiformate: [u'ts', u'mkv', u'iso', u'avi', u'm2ts', u'ifo']
Suche nach Media-Dateien
Gefunden 836 Media-Dateien

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 3:08

Attachments:

GoogleCodeExporter commented 8 years ago
Hi j.r.

vorweg erstmal vielen Dank für's Testen und für's Erstellen der Logfiles. Wie 
weiter oben schon vermutet / befürchtet, ist das "Hängenbleiben" nicht das 
eigentliche Problem, sondern nach Deinen jüngsten Tests scheint sich zu 
bestätigen, dass mit dem DAB-Handling was nicht stimmt.

Ich habe jetzt angefangen, Deine Struktur bei mir mal lokal nachzubauen und 
werde dann gleich mal einen Synclauf bei mir starten.

Ich halte Dich auf dem Laufenden!

Danke nochmal & Gruß, Erik

Original comment by erik.for...@gmail.com on 2 Mar 2012 at 3:27

GoogleCodeExporter commented 8 years ago
Ich hab mal einen Sync laufen lassen und zuvor alle Ordner deaktiviert.

Sync läuft zwar durch aber die Fehlermeldungen stehen trotzdem im Logfile.

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 3:38

Attachments:

GoogleCodeExporter commented 8 years ago
Hi, 

welche Fehlermeldungen genau meinst Du? OK, am Anfang gibt's halt die Hinweise, 
dass ein paar Plugins nicht gefunden werden, aber ansonsten sehe ich bei Deinem 
letzten Log erstmal nix ungewöhnliches...

Gruß, Erik

Original comment by erik.for...@gmail.com on 2 Mar 2012 at 4:09

GoogleCodeExporter commented 8 years ago
Ich mein diese komische Schleife:

16:37:19.0491780 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=39 HTTP/1.1>
16:37:19.0495481 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['39']}
16:37:19.0498954 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
16:37:19.0501784 I  SyncFunctions::action mode (getSyncLog)
16:37:19.0555946 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=40 HTTP/1.1>
16:37:19.0560572 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['40']}
16:37:19.0565543 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
16:37:19.0568986 I  SyncFunctions::action mode (getSyncLog)
16:37:19.0613131 I  SyncFunctions::action request: <GET 
/syncronize?mode=getSyncLog&row=41 HTTP/1.1>
16:37:19.0616323 I  SyncFunctions::action request.args: {'mode': 
['getSyncLog'], 'row': ['41']}
16:37:19.0619338 I  SyncFunctions::action request.args[mode]: ['getSyncLog']
16:37:19.0622815 I  SyncFunctions::action mode (getSyncLog)

Davon sind die Logs ja alle voll. 

Wir können auch mal versuchen per ICQ oder Jabber den Fehler zu finden. Geht 
evtl schneller?

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 4:15

GoogleCodeExporter commented 8 years ago
Die Meldungen kommen vom Web-Interface und haben nix mit dem Fehler zu tun. 
Wenn Du mal in Dein Log schaust, was Du von der PVMC-GUI aus gestartet hast (=> 
PVMC_Sync_valerie_20120301_1201.log.txt aus Kommengtar #6), dann sollten diese 
Meldungen dort nicht auftauchen.

Bzgl. IM: komme gerne darauf zurück - insbesondere wenn ich einen potentiellen 
Fix habe, wäre es sicher nicht schlecht, den erstmal bei Dir lokal 
einzuspielen und zu schauen, wie sich die Sache verhält - momentan bin ich 
aber noch dabei, den Fehler bei mir zu reproduzieren... Schaun'mer mal... :-)

Gruß, Erik

Original comment by erik.for...@gmail.com on 2 Mar 2012 at 4:25

GoogleCodeExporter commented 8 years ago
Dann versuch ich nochmal einen Sync per PVMC zu starten und schau was passiert.

Ich kann dir auch meine DB etc schicken wenn das hilft?

Original comment by jeeee.re...@gmail.com on 2 Mar 2012 at 4:30

GoogleCodeExporter commented 8 years ago
Internal note:
After several tests onsite (thanks to j.r. for his patience!) I found, that the 
sync gets stuck in function

   Arts.isMissing()

Actually the check 

   if path.isfile( ... ) is False

fails / gets stuck. IIRC I had a similar issue some time ago and the problem 
was solved by using the equal ("==") operator instead of the identity ("is") 
operator.

I will try to rewrite the check accordingly and maybe the problem gets solved 
by doing so, too. But if so, we have several potential "time bombs" in the 
code, since both ways to perform a check are used a lot... :-) But perhaps this 
is only a side effect of a totally different error in another area - we'll see.

But anyhow:
From my current point of view I think, that the equal operator "==" is the 
correct way of doing things in that case, but I'm no python expert at all, so 
maybe I'm wrong... 

Original comment by erik.for...@gmail.com on 3 Mar 2012 at 8:17

GoogleCodeExporter commented 8 years ago
Unfortunately the changes as suggested in the previous comment didn't fix the 
problem.

Instead further tests showed, that the hang actually didn't occur in 
path.isfile( ... ), but when building the parameter for the isfile() function, 
which consists of:

   WebGrabber.downloadDir + "/" + eInfo.TheTvDbId + "_poster_" + self.posterResolution[0] + ".png"

This hang has been solved by explicitely converting all parameters to a String 
using the str() function:

   str(WebGrabber.downloadDir) + str(eInfo.TheTvDbId) + "_poster_" + str(self.posterResolution[0]) + ".png"

but then Valerie gets stuck later on when calling

   pyvalerie::run getArtByTheTvDbId()

which reminds me on my best C / C++ times... ;-)

Anyhow: the problem has been solved by deleting the "Seinfeld" TV-Show 
completely from the database and performing a re-sync, so obviously the problem 
was caused by some corrupt entries in the database as supposed in comment #12 - 
probably causing further memory corruption responsible for that weird behaviour.

=> Changing state to "closed" as discussed with j.r. 

Original comment by erik.for...@gmail.com on 4 Mar 2012 at 7:20

GoogleCodeExporter commented 8 years ago
Der Fehler ist leider wieder da. Hab eben eine heute Nacht aufgenommene 
Seinfeld Folge hinzugefügt, neu gesynct und der sync bleibt wieder stehen.

Die Folge wurde beim syncen korrekt erkannt und alle Infos waren da. Nach einem 
restart der Box fehlte die neu erkannte Folge allerdings wieder. Nochmal neu 
gesynct und wieder das selbe Spiel.

Also hab ich Seinfeld wieder komplett gelöscht, alle 150 Folgen und wieder 
einen Sync Versuch gestartet. Leider ohne Erfolg, sync lief nicht durch. Hab es 
zweimal probiert, zuvor immer Seinfeld komplett gelöscht.

Original comment by jeeee.re...@gmail.com on 5 Mar 2012 at 2:05

GoogleCodeExporter commented 8 years ago
log4 passte nicht mehr mit rein

Original comment by jeeee.re...@gmail.com on 5 Mar 2012 at 3:40

GoogleCodeExporter commented 8 years ago
Internal note:
after getting a console log I found the following exception:

Exception in thread Thread-1:
Traceback (most recent call last):
 File "threading.py", line 375, in __bootstrap_inner
 File "/usr/lib/enigma2/python/Plugins/Extensions/ProjectValerie/DMC_Plugins/DMC_SyncExtras/sync.py", line 381, in run
   if Arts().isMissing(mediaInDb):
 File "/usr/lib/enigma2/python/Plugins/Extensions/ProjectValerie/DMC_Plugins/DMC_SyncExtras/Arts.py", line 53, in isMissing
   pathToTest = WebGrabber.downloadDir + "/" + eInfo.TheTvDbId + "_backdrop.m1v"
TypeError: cannot concatenate 'str' and 'int' objects 

So obviously the "TheTvDbId" is stored as an int instead of a String. Maybe 
related to some faulty sync results found in the logs, where the recording time 
contained in the file name of Enigma2 recordings has been initially used as 
season / episode number.

=> ongoing tests with some adapted files...

Original comment by erik.for...@gmail.com on 6 Mar 2012 at 9:25

GoogleCodeExporter commented 8 years ago
Finally we tracked that issue down to be caused by modifications in the WebIF: 
if any attribute of an episode is edited through the Web-Interface then the 
related TvDB ID seems to be stored as an int in the DAB.

Two additional problems were found while investigating this issue:
(1)
season- and episode numbers for enigma2 recorded files get retrieved from the 
related file name - but will be dismissed later on in the sync process, since 
the already present variable isSeasonEpisodeFromFilename in MediaInfo.parse() 
doesn't get set correctly. This will be fixed with this issue.

(2)
Additionally it was found that the currently implemented fallback for Enigma2 
recorded TV shows to be synced as movie, if the related file is not recognized 
as TV-show is confusing. We had a lot of complaints about this in the past and 
I have to admit, that this behaviour causes a lot of problems in order to sort 
things out what happened during the sync.

Proposed solution here is to to re-sync an Enigma2 TV-show recording only again 
as Movie, if the related folder in the sync settings is flagged as 
"MOVIE_AND_TV". If the related folder is flagged as "TV" then a not recognized 
TV show recording will be directly added to the "Failed" list.

Original comment by erik.for...@gmail.com on 7 Mar 2012 at 2:13

GoogleCodeExporter commented 8 years ago
Another problem has been found when the metafiles of E2 recorded movies 
indicate the recording to be a TV show (line #2 is different from line #3). In 
this case also the folder type should be used in order to decide how the 
recording should be synced (movie or TV show).

Original comment by erik.for...@gmail.com on 9 Mar 2012 at 5:32

GoogleCodeExporter commented 8 years ago
The original issue (hanging sync => see comment 29) can be fixed by explicitely 
converting the IDs to a string in Arts.iSmissing() and Arts.download().

But this is only a workaround in order to avoid those ugly hangs in future - 
the original cause of why those IDs get stored as "int" in the DAB has not been 
identified completely. They seem definitely to occur after editing a TV show in 
the WebIF, but today I received another log of a User who confirmed, that he 
has not made any manual changes to a TV show!

Original comment by erik.for...@gmail.com on 23 Mar 2012 at 11:06

GoogleCodeExporter commented 8 years ago
Workaround applied with r1237...

Original comment by erik.for...@gmail.com on 23 Mar 2012 at 11:08