Diese Board wurde aus Spamschutz-Gründen auf minimale Funktionen beschränkt.
Nutze für neue Anfragen/Bug-Reports bitte meine Gitlab-Instanz.

problem bei imdb suche

Hilfe bei Installation oder einem Update der Filmverwaltung. Behebung von aufgetretenen Fehlern

Moderator: Lifestyle

Evenfall
Beiträge: 11
Registriert: Di 9. Jan 2007, 22:47
Kontaktdaten:

problem bei imdb suche

Beitrag von Evenfall »

hi,
habe da ein prob, hab die aktuelle version installiert und wenn ich über imdb en film suche und klick den an, fügt der mir die schauspieler nicht dazu und den Regisseur au nicht :(

woran liegt dat
Benutzeravatar
der-domi
Site Admin
Beiträge: 673
Registriert: Di 4. Apr 2006, 19:22
Kontaktdaten:

Re: problem bei imdb suche

Beitrag von der-domi »

Nicht verzagen, Domi fragen

Viele Grüße
Dominik
Butzemann
Beiträge: 139
Registriert: Mi 20. Dez 2006, 15:22
Kontaktdaten:

Beitrag von Butzemann »

datei mal downloaden, entpacken und ersetzen:

http://blog-plus.de/Uploads/class.import.zip
Evenfall
Beiträge: 11
Registriert: Di 9. Jan 2007, 22:47
Kontaktdaten:

Beitrag von Evenfall »

in dem thread war ich schon diw download gehen nicht bzw wenn ichs entpacken will "kein archiv"

und das ersetzen hat leider nix gebracht :(
Nasenmann72
Beiträge: 10
Registriert: Mi 10. Jan 2007, 10:16

Beitrag von Nasenmann72 »

Tachchen,

habe mich dem Problem des Imports der Schauspieler/Regisseure angenommen und die classes.import.php angepasst.
Ob meine Lösung die optimale ist, kann ich nicht sagen. Aber sie funktioniert...

Code: Alles auswählen

            // Regisseure
            $search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:';
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );
            //$search = "<a href='view.php?page=liste&Name=";
            $search = "<a href=\"view.php?page=film_detail&fid=".$this->importID."\">";
            $this->buf1 = explode( $search, $this->buf2[0] );
            $this->buf1[1] = ltrim($this->buf1[1]);
            $this->buf1[1] = str_replace("<br>", ";", $this->buf1[1]); 
            $this->buf2 = explode ( ";</a>", $this->buf1[1]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['regisseure'] = array();
            for ( $i=1; $i<=count($this->buf1); ++$i ) {          
                $this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1];
            }

            
            // Schauspieler
            $search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );
            //$search = "<a href='view.php?page=liste&Name=";
            $search = "<a href=\"view.php?page=film_detail&fid=".$this->importID."\">";
            $this->buf1 = explode( $search, $this->buf2[0] );
            $this->buf1[1] = ltrim($this->buf1[1]);
            $this->buf1[1] = str_replace("<br>", ";", $this->buf1[1]); 
            $this->buf2 = explode ( ";</a>", $this->buf1[1]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['actors'] = array();
            for ( $i=1; $i<=count($this->buf1); ++$i ) {          
                $this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
            }
Schönen Tag noch,

Der Nasenmann
Nasenmann72
Beiträge: 10
Registriert: Mi 10. Jan 2007, 10:16

Beitrag von Nasenmann72 »

Sorry,

meine Lösung HAT funktioniert, bis gerade eben.

Die bei ofdb.de haben anscheinend nochmal ihren HTML-Code geändert...

Machen die das extra???

Viele Grüße,
Der Nasenmann
Nasenmann72
Beiträge: 10
Registriert: Mi 10. Jan 2007, 10:16

Beitrag von Nasenmann72 »

And again...

Meine NEUE Lösung:

Code: Alles auswählen

            // Regisseure
            $search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:';
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );            
            $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); 
            $this->buf2[0] = str_replace("&nbsp;", "", $this->buf2[0]); 
            $this->buf2[0] = strip_tags($this->buf2[0]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['regisseure'] = array();
            for ( $i=1; $i<count($this->buf1); $i++ ) {         
                $this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1];
            }

            
            // Schauspieler
            $search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );            
            $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); 
            $this->buf2[0] = str_replace("&nbsp;", "", $this->buf2[0]); 
            $this->buf2[0] = strip_tags($this->buf2[0]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['actors'] = array();
            for ( $i=1; $i<count($this->buf1); $i++ ) {         
                $this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
            }
Butzemann
Beiträge: 139
Registriert: Mi 20. Dez 2006, 15:22
Kontaktdaten:

Beitrag von Butzemann »

Yep, klappt wieder, danke dir. Hoffentlich macht der Sascha Imme (Projekt -und Entwicklungsleiter der OFDB) nicht nochmehr Veränderungen die den OFDB hack der Filmverwaltung betreffen :roll:
cyprian
Beiträge: 8
Registriert: Fr 1. Dez 2006, 14:11

Beitrag von cyprian »

kann ich nur bestätigen, geht wieder! das nervt ein bisschen, wenn ständig veränderungen vorgenommen werden! :evil:

cyprian
Evenfall
Beiträge: 11
Registriert: Di 9. Jan 2007, 22:47
Kontaktdaten:

Beitrag von Evenfall »

jep geht wieder wunderbar

gibts noch die möglichkeit das wegen der fsk eintragung und der filmlänge zu ändern das er das auch übernimmt?

danke auf jedenfall für die hilfe, freut mich das es wieder geht ^^
Benutzeravatar
der-domi
Site Admin
Beiträge: 673
Registriert: Di 4. Apr 2006, 19:22
Kontaktdaten:

Beitrag von der-domi »

Hier werde hier erst nachschauen und alles überprüfen, wenn ich weiß, dass sich nichts mehr ändert. Hat jemand dazu Informationen?

Um welche Werte handelt es sich denn genau? Es gibt ja viele kleine Fehler...
Nicht verzagen, Domi fragen

Viele Grüße
Dominik
Butzemann
Beiträge: 139
Registriert: Mi 20. Dez 2006, 15:22
Kontaktdaten:

Beitrag von Butzemann »

Nasenmann72 hat geschrieben:And again...

Meine NEUE Lösung:

Code: Alles auswählen

            // Regisseure
            $search = '<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Regie:';
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );            
            $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); 
            $this->buf2[0] = str_replace("&nbsp;", "", $this->buf2[0]); 
            $this->buf2[0] = strip_tags($this->buf2[0]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['regisseure'] = array();
            for ( $i=1; $i<count($this->buf1); $i++ ) {         
                $this->varToImport['regisseure'][$i-1] = $this->buf1[$i-1];
            }

            
            // Schauspieler
            $search = "<td nowrap><font face="Arial,Helvetica,sans-serif" size="2" class="Normal">Darsteller:";
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );            
            $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]); 
            $this->buf2[0] = str_replace("&nbsp;", "", $this->buf2[0]); 
            $this->buf2[0] = strip_tags($this->buf2[0]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['actors'] = array();
            for ( $i=1; $i<count($this->buf1); $i++ ) {         
                $this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
            }
Aufgepasst!!! Die Daten der Schauspieler werden übernommen, aber auch der Link ...[mehr] steht jetzt immer am Ende. Also, wenn (wie ich schon im Gemeinschaftsforum gepostet habe http://www.gemeinschaftsforum.com/forum ... #msg546439 ) diese Zeile in der OFDB nicht weg gemacht wird, muss man eben, das jetzt immer zusätzlich löschen.

P.S. Hab den Sascha Imme (OFDB Head) mal dazu eine PN geschickt, mal sehen was kommt.
Nasenmann72
Beiträge: 10
Registriert: Mi 10. Jan 2007, 10:16

Beitrag von Nasenmann72 »

Moin,

hier eine angepasste Version, die "...[mehr]" nicht mit übernimmt. Schöner wäre jedoch eine Funktion, die dem Link "[mehr] folgt und dort ALLE Schauspieler ausliest. Hab' ich momentan aber leider keine Zeit für... :-(

Viele Grüße,
Der Nasenmann

Code: Alles auswählen

            // Schauspieler
            $search = "<td nowrap><font face=\"Arial,Helvetica,sans-serif\" size=\"2\" class=\"Normal\">Darsteller:";
            $this->buf1 = explode( $search, $this->siteBuf );
            $this->buf2 = explode( "</tr>", $this->buf1[1] );
            $this->buf2[0] = str_replace("</a>", ";", $this->buf2[0]);
            $this->buf2[0] = str_replace("&nbsp;", "", $this->buf2[0]);
            $this->buf2[0] = strip_tags($this->buf2[0]);
            $this->buf1 = explode ( ";", $this->buf2[0]);
            $this->varToImport['actors'] = array();
            for ( $i=1; $i<count($this->buf1); $i++ ) {
            		if ($this->buf1[$i-1] != "...[mehr]") $this->varToImport['actors'][$i-1] = $this->buf1[$i-1];
            }
Butzemann
Beiträge: 139
Registriert: Mi 20. Dez 2006, 15:22
Kontaktdaten:

Beitrag von Butzemann »

Danke für deine Hilfe/Lösung.

Ähnlich diesem Problem ist es jetzt auch bei dem IMDB Import zu beobachten.

Hier wird das Produktionsland (bzw. auch Teile vom Quellcode) übernommen.
Ich hoffe auch dieses Problem kann gelöst werden.
Butzemann
Beiträge: 139
Registriert: Mi 20. Dez 2006, 15:22
Kontaktdaten:

Beitrag von Butzemann »

Hab hier ein Script in Perl gefunden. Vielleicht kann man das umsetzen:

if($forced) {
my (@cast, $tag, $person, $id, $role);
my $parser = $self->_parser(FORCED);

while($tag = $parser->get_tag('b')) {
next unless (exists $tag->[1]{class} and $tag->[1]{class} eq 'blackcatheader');
last if $parser->get_text =~ /^(cast overview|credited cast|(?:series )?complete credited cast)/i;
}

while($tag = $parser->get_tag('a')) {
last if $tag->[1]{href} =~ /fullcredits/i;
#if($tag->[1]{href} && $tag->[1]{href} =~ m!/name/nm(\d+?)/!) {
if($tag->[1]{href} && $tag->[1]{href} =~ m#(?<!tinyhead)/name/nm(\d+?)/#) {
$person = $parser->get_text;
$id = $1;
my $text = $parser->get_trimmed_text('a', '/tr');
($role) = $text =~ /.*?\s+(.*)$/;
push @cast, {id => $id, name => $person, role => $role};
}
}

$self->{_cast} = \@cast;
}

return $self->{_cast};
}
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast