Script Index dvd v1.2.1 by juliojs

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
javienigma
Posts: 21
Joined: 2011-11-08 12:06:48

Script Index dvd v1.2.1 by juliojs

Post by javienigma »

Hola, alguien puede probar si le funciona el script Index DVD? la verdad es que es este script es muy bueno en cuanto a las carátulas, ya que te saca la mayoría en Bluray y con muy buena calidad, pero a mi no me funciona desde hace un tiempo.

Por otra parte, alguien sabe cómo arreglarlo?

Saludos y gracias por adelantado.
Last edited by javienigma on 2013-04-25 22:52:31, edited 2 times in total.
juliojs
Posts: 10
Joined: 2013-04-25 19:08:37

Post by juliojs »

He modificado un par de líneas y creo que ya funciona correctamente.

Saludos!

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=Legrad modded by: juliojs
Title=IndexDVD caratula (ES)
Description=
Site=www.index-dvd.com
Language=ES
Version=1.2.1
Requires=3.5.0
Comments=
License=
GetInfo=1
RequiresMovies=1

[Options]

[Parameters]

***************************************************)

 program IndexDVD;
var
  MovieName: string;
  MovieURL: string;

//------------------------------------------------------------------------------------
function Comillas(var S: string): string;
var
   n,len, tag: Integer;
   c: char;
   t: String;
begin
   tag := 0;
   t := '';
   len := length(s);
   for n :=1 to len do
   begin
     c := Copy(s,n,1);
     if c = '''' then
        c := ' ';
        t := t + c;
   end
   s := t;
   result := t;
end;
//-------------------------------------------------------------------------------
                              function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
var
  i: Integer;
begin
  Result := -1;
  if StartAt < 0 then
    StartAt := 0;
  for i := StartAt to List.Count-1 do
    if Pos(Pattern, List.GetString(i)) <> 0 then
    begin
      Result := i;
      Break;
    end;
end;
//------------------------------------------------------------------------------------
                      function TextBetween(var S: string; StartTag: string; EndTag: string): string;
var
  InitialPos: Integer;
begin
  InitialPos := Pos(StartTag, S);
  if InitialPos = 0 then
    result := ''
  else
  begin
    Delete(S, 1, InitialPos + Length(StartTag) - 1);
    InitialPos := Pos(EndTag, S);
    if InitialPos = 0 then
      result := S
    else
    begin
      result := copy(S, 1, InitialPos - 1);
      Delete(S, 1, InitialPos + 1);
    end;
  end;
end;


//---------------------------------------------------------------------
function Caracter(str1: string) :string;
begin
          str1 := StringReplace(str1, 'á' , 'à');
          str1 := StringReplace(str1, 'é' , 'é');
          str1 := StringReplace(str1, 'í',  'í');
          Str1 := StringReplace(Str1, 'ó', 'ó');
          str1 := StringReplace(str1, 'ú' , 'ú');
          str1 := StringReplace(str1, 'ñ' , 'ñ');
          str1 := StringReplace(str1, 'Ã￾', 'Á');
          str1 := StringReplace(str1, 'É', 'É');
          str1 := StringReplace(str1, 'Ã￾', 'Í');
          str1 := StringReplace(str1, 'Ó', 'Ó');
          str1 := StringReplace(str1, 'Ú', 'Ú');
          str1 := StringReplace(str1, 'Ñ', 'Ñ');
          str1 := StringReplace(str1, 'Â', '');

result := str1;
end;//------------------------------------------------------------------------------------
                               function DeleteTags(var S: string): string;
var
   n,len, tag: Integer;
   c: char;
   t: String;
begin

   tag := 0;
   t := '';
   len := length(s);

   for n :=1 to len do
   begin
      c := Copy(s,n,1);


      if c = #9 then
         c := ' ';

      if(tag=1) then
      begin
         if(c='>') then tag := 0;
         continue;
      end
      else
      begin
         if(c='<') then
         begin
            tag := 1;
            continue;
         end;
         t := t + c;
      end;
   end
   s := t;
   result := t;
end;


//------------------------------------------------------------------------------------
procedure AnalyzePage(Address: string);
var
  strPage, MovieAddr, MovieTitle, MovieDate, MovieID, Movie: string;
  BeginPos, EndPos: Integer;
  BeginPoss, EndPoss: Integer;
begin
  strPage := GetPage(Address);
  BeginPos := Pos('ficha(s) encontrada(s)', strPage);
  if(BeginPos > -1)then
    begin
      PickTreeClear;
      Delete(strPage, 1, BeginPos);
      BeginPos := Pos('class=''texto3''> <a href=''http://www.index-dvd.com/', strPage);
      EndPos := 1;
      while ((BeginPos > 0) and (EndPos > 0)) do

        begin
          Delete(strPage, 1, BeginPos);
          EndPos := Pos('html', strPage);
          MovieId := Copy(strPage,+54, EndPos-54);

          MovieAddr := 'http://www.index-dvd.com/' + MovieId+'html';
          BeginPoss := Pos('title=',strPage);
          EndPoss := Pos('</td>', strPage);
          MovieTitle := Copy(strPage,BeginPoss, EndPoss);
          MovieTitle  := TextBetween(MovieTitle , '"', '" class');
          MovieTitle  := StringReplace(MovieTitle , 'DVD Video', ' (DVD)');
          MovieTitle  := StringReplace(MovieTitle , 'Cine', ' (CINE)');
          MovieTitle  := StringReplace(MovieTitle , 'Blu-Ray', ' (BLU-RAY)');
          MovieTitle  := StringReplace(MovieTitle , 'Alquiler', ' (ALQUILER)');
          DeleteTags(MovieTitle);
          MovieTitle := Caracter(MovieTitle);
          PickTreeAdd(MovieTitle,MovieAddr);
          PickTreeSort;
          BeginPos := Pos('class=''texto3''> <a href=''http://www.index-dvd.com/', strPage);
          if(Pos('</body>', strPage) < BeginPos) then
           BeginPos := -1;
        end;

    end;
    PickTreeExec(Address)
    AnalyzeMoviePage(Address);
end;
//------------------------------------------------------------------------------------
procedure AnalyzeMoviePage(Address: string);
var
  Page: TStringList;
  LineNr: Integer;
  Line: string;
  Item: string;
  dir: string;
  Comments: string;
  Actors: string;
  Directors: string;
  Description: string;
  Busca: integer;


begin
  Description := '';

  // URL
  //SetField(fieldURL, Address);

  Page := TStringList.Create;
  Page.Text := GetPage(Address);

  // Caratula
  LineNr := FindLine('http://www.index-dvd.com/covers/300/', Page, 0);
  if LineNr > 0 then
  begin
    Item := copy(Page.Text, pos('http://www.index-dvd.com/covers/300/',Page.Text), length(Page.Text));
    Item := TextBetween (Item, 'http://www.index-dvd.com/covers/300/', '.jpg') + '.jpg';
    Item := StringReplace(Item, '300', '600');
    Item  := Trim(Item );
    GetPicture ('http://www.index-dvd.com/covers/600/'+Item);
     end;
  end;
 //-------------------------------------------------------------------------
begin
       if (CheckVersion(3,5,0)=FALSe) then
   begin
      ShowMessage('Se requiere Ant Movie Catalog versión 3.5 o superior');
      exit;
   end;

   MovieName := GetField(fieldTranslatedTitle);
   if MovieName = '' then
            MovieName := GetField(fieldOriginalTitle);
Input('IndexDVD', 'Buscar:', MovieName);

     if(GetOption('Sin resultado') = 0) then  Input('IndexDVD', 'Buscar:', MovieName);

   AnalyzePage('http://www.index-dvd.com/calendar_ult.php?tema=&order=tit&busqueda=' + UrlEncode(MovieName)+'&Submit.x=0&Submit.y=0');
end. 
buitre225
Posts: 6
Joined: 2013-04-10 16:35:18
Contact:

Post by buitre225 »

Funciona perfectamente, muchas gracias
javienigma
Posts: 21
Joined: 2011-11-08 12:06:48

Post by javienigma »

Hola!
Lo primero darte las gracias por la ayuda! Te comento, a mi sólo me saca la carátula, no saca el resto de información, esto es correcto? saludos genio!
juliojs
Posts: 10
Joined: 2013-04-25 19:08:37

Post by juliojs »

buitre225 wrote:Funciona perfectamente, muchas gracias
Perfecto, pues a catalogar!! :D
javienigma wrote:Hola!
Lo primero darte las gracias por la ayuda! Te comento, a mi sólo me saca la carátula, no saca el resto de información, esto es correcto? saludos genio!
Sí, en teoría éste script sólo es para obtener la carátula, le echaré un ojo para ver si se puede extraer el resto de información aunque para mi gusto index-dvd se queda un poco corto para eso...

Un saludo!
javienigma
Posts: 21
Joined: 2011-11-08 12:06:48

Post by javienigma »

Gracias Julio, es cierto que para la información está mejor Filmaffinity, pero es una lástima que este script no funcione al 100% como antes pasaba. Si puedes solucionarlo genial! sino, no te preocupes, saludos!
Post Reply