Page 1 of 1

[REL ITA] Asian World (Infos, Pic, & Link to subtitle fi

Posted: 2006-01-14 18:58:07
by ABNormal
Here I am again.
so, as requested, this is the script for www.asianworld.it.

In URL field there is a direct link to the subtitles file, for an easier download.

In Italiano:
come richiesto (e come da me promesso) ecco lo script x AsianWorld.
nel campo URL c'è il link al sottotitolo. Spero che possa bastare e che non faccia troppi errori (visto che la mia programmazione resta "maccheronica")

Code: Select all

 v1.1: 
picture URL corrected; 
Option Added: you can choose if title has to be "cleared" from ".", "_", "[....]" (normally emule modifications from original title), or simply search title as put into Translated Title 

Code: Select all

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

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

[Infos]
Authors=L. Francisco
Title=AsianWorld
Description=Get movie info from www.AsianWorld.it
Site=http://www.asianworld.it
Language=IT
Version=1.0.2 - 16.09.2005
Requires=3.5.0
Comments=**Changes**|ABNormal did it
License=*  The source code of the script can be used in   |*  another program only if full credits to              |*  script author and a link to Ant Movie Catalog  |*  website are given in the About box or in       |*  the documentation of the program               |
GetInfo=1

[Options]
EmuleClearer=0|0|0=Title as is|1=Title without ".","_" & "[...]"

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

program AsianWorld;
uses
  StringUtils1;

var
  MovieName: string;
  TheMovieAddress: string;
  comm: String;

procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  LineNr: integer;
  BeginPos: integer;
begin
  Page := TStringList.Create;
  Page.Text := GetPage(Address);
  LineNr := FindLine('id_subq', Page, 0);
  if LineNr = -1 then
  begin
    SetField(fieldURL, '1'+Address);
    AnalyzeMoviePage(Page);
  end
  else
  begin
    PickTreeClear;
    AddMoviesTitles(Page);
    if TheMovieAddress='' then
    begin
      if PickTreeExec(Address) then
      TheMovieaddress := Address;
       Page.Text := GetPage(TheMovieAddress);
      AnalyzeMoviePage(Page);
      //AnalyzePage(Address);
    end
    else
    begin
      SetField(fieldURL, TheMovieAddress);
      Page.Text := GetPage(TheMovieAddress);
      AnalyzeMoviePage(Page);
    end;
  end;

  Page.Free;
end;

procedure AnalyzeMoviePage(Page: TStringList);
var
  Line, PreviousLine, NomeHtml, sTemp: string;
  LineNr,PrevLineNr, BeginPos, EndPos, Field: Integer;
  IsMainActors: boolean;
begin
//setfield (fieldDescription, address);
  IsMainActors := false;
  sTemp := '';
  LineNr := FindLine('ArchivioSottotitoli', Page, 0);
  if LineNr > -1 then
  begin
  LineNr := FindLine('Verdana', Page, Linenr);
    Line := Page.GetString(LineNr);
    SetField(fieldTranslatedTitle, textbetween(Line, '<b>', '</b>'));
  LineNr := FindLine('img src', Page, Linenr);
    Line := Page.GetString(LineNr);
    GetPicture(textbetween(Line, 'img src="', '"'));
  LineNr := FindLine('Titolo', Page, Linenr);
    Line := Page.GetString(LineNr);
    SetField(fieldOriginalTitle, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldYear, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldDirector, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldCountry, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldCategory, textbetween(Line, '</b> - ', ' - <br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldActors, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldComments, textbetween(Line, '<b>', '</b>')+textbetween(Line, '</b>', '<br>'));
  LineNr := FindLine('Scarica i sottotitoli', Page, LineNr);
    Line := Page.GetString(LineNr);
    SetField(fieldURL, textbetween(Line, 'http://', '">Scarica'));

  LineNr := FindLine('Trama e recensione', Page, LineNr);
  Line := Page.GetString(LineNr+1);

 comm:=(Line);
 linenr:=linenr+1;
while pos(line,'<') = -1 do begin
    Line := Page.GetString(LineNr);
    comm := comm+' '+line ;
 linenr:=linenr+1;
end;
comm := comm+' '+line ;
    SetField(fieldDescription, textbetween(comm, '>', '<'));
  LineNr := FindLine('Voto', Page, Linenr);
    Line := textAfter(Page.GetString(LineNr),'oto ');
    SetField(fieldRating, textbetween(Line, '>', '<'));



  end;



end;


procedure AddMoviesTitles(Page: TStringList);
var
  LineNr: Integer;
  Line: string;
  MovieTitle, MovieAddress: string;
  BeginPos, EndPos: Integer;
  begin
  LineNr := 0;
  LineNr := FindLine('option',Page,LineNr);
  Line := TextAfter(Page.GetString(LineNr),'id_subq"');
While pos ('option',Line) > 0 do
  begin
  MovieAddress := 'http://www.asianworld.it/subrisultato.php?id_subq=' + TextBetween(Line, 'option value="', '"');
  MovieTitle := Textbetween(Line,'">','</');
Line := textafter (Line, '</option>');
    PickTreeAdd(MovieTitle, MovieAddress);
    if TheMovieAddress='*' then
      TheMovieAddress := MovieAddress
    else
      TheMovieAddress := '';
  end;
  if TheMovieAddress='*' then TheMovieAddress := '';
end;

// -----------------------------
// Questo è il main dello script
// -----------------------------
begin
  if CheckVersion(3,5,0) then
   begin
    TheMovieAddress := '*';
    moviename:= GetField(fieldTranslatedTitle);
    if MovieName = '' then MovieName := GetField(fieldOriginalTitle);
if (GetOption('EmuleClearer')=1) then 
begin
     MovieName := StringReplace(GetField(fieldTranslatedTitle), '.', ' ');
    if MovieName = '' then
      MovieName := StringReplace(GetField(fieldOriginalTitle), '.', ' ');
While pos ('[', MovieName) > 0 Do begin
  MovieName := TextBefore(MovieName, '[', '') + TextAfter(MovieName, ']');
end;
end;
    if Input('AsianWorld Import', 'Digita il titolo del film:', MovieName) then
    begin
      AnalyzePage('http://www.asianworld.it/cercasub_iniziale.php?inizialeq='+UrlEncode(MovieName));
    end;
   end
  else
    ShowMessage('Questo script richiede una versione più nuova di Ant Movie Catalog (almeno la versione 3.5.0)');
end. 
That's all folks!
ABN

Posted: 2006-01-18 20:39:37
by antp
Thanks ;)

Posted: 2007-11-18 18:44:39
by ABNormal
upgrade of the script:

Code: Select all

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

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

[Infos]
Authors=original script by L. Francisco
Title=AsianWorld
Description=Get movie info from www.AsianWorld.it
Site=http://www.asianworld.it
Language=IT
Version=2 - 03.08.2007
Requires=3.5.0
Comments=ABNormal did it ! saxabar update
License=*  The source code of the script can be used in   |*  another program only if full credits to              |*  script author and a link to Ant Movie Catalog  |*  website are given in the About box or in       |*  the documentation of the program               |
GetInfo=1

[Options]
EmuleClearer=0|0|0=Title as is|1=Title without ".","_" & "[...]"

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

program AsianWorld;
uses
  StringUtils1;

var
  MovieName: string;
  TheMovieAddress: string;
  comm: String;

procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  LineNr: integer;
  BeginPos: integer;
begin
  Page := TStringList.Create;
  Page.Text := GetPage(Address);
  LineNr := FindLine('id_subq', Page, 0);
  if LineNr = -1 then
  begin
    SetField(fieldURL, '1'+Address);
    AnalyzeMoviePage(Page);
  end
  else
  begin
    PickTreeClear;
    AddMoviesTitles(Page);
    if TheMovieAddress='' then
    begin
      if PickTreeExec(Address) then
      TheMovieaddress := Address;
       Page.Text := GetPage(TheMovieAddress);
      AnalyzeMoviePage(Page);
      //AnalyzePage(Address);
    end
    else
    begin
      SetField(fieldURL, TheMovieAddress);
      Page.Text := GetPage(TheMovieAddress);
      AnalyzeMoviePage(Page);
    end;
  end;

  Page.Free;
end;

procedure AnalyzeMoviePage(Page: TStringList);
var
  Line, PreviousLine, NomeHtml, sTemp: string;
  LineNr,PrevLineNr, BeginPos, EndPos, Field: Integer;
  IsMainActors: boolean;
begin
//setfield (fieldDescription, address);
  IsMainActors := false;
  sTemp := '';
  LineNr := FindLine('ArchivioSottotitoli', Page, 0);
  if LineNr > -1 then
  begin
  LineNr := FindLine('Verdana', Page, Linenr);
    Line := Page.GetString(LineNr);
    SetField(fieldTranslatedTitle, textbetween(Line, '<b>', '</b>'));
  LineNr := FindLine('width=138', Page, Linenr);
    Line := Page.GetString(LineNr);
    GetPicture(textbetween(Line, 'img src="', '" width=138'));
  LineNr := FindLine('Titolo', Page, Linenr);
    Line := Page.GetString(LineNr);
    SetField(fieldOriginalTitle, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldYear, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldDirector, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldCountry, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldCategory, textbetween(Line, '</b> - ', ' - <br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldActors, textbetween(Line, '</b>', '<br>'));
Linenr := Linenr+1;
    Line := Page.GetString(LineNr);
    SetField(fieldComments, textbetween(Line, '<b>', '</b>')+textbetween(Line, '</b>', '<br>'));
  LineNr := FindLine('Scarica i sottotitoli', Page, LineNr);
    Line := Page.GetString(LineNr);
    SetField(fieldURL, textbetween(Line, 'http://', '">Scarica'));

  LineNr := FindLine('Trama e recensione', Page, LineNr);
  Line := Page.GetString(LineNr+1);

comm:=(Line);
linenr:=linenr+1;
while pos(line,'<') = -1 do begin
    Line := Page.GetString(LineNr);
    comm := comm+' '+line;
linenr:=linenr+1;
end;
comm := comm+' '+line;
    SetField(fieldDescription, textbetween(comm, '>', '<'));
  LineNr := FindLine('Voto', Page, Linenr);
    Line := textAfter(Page.GetString(LineNr),'oto ');
    SetField(fieldRating, textbetween(Line, '>', '<'));



  end;



end;


procedure AddMoviesTitles(Page: TStringList);
var
  LineNr: Integer;
  Line: string;
  MovieTitle, MovieAddress: string;
  BeginPos, EndPos: Integer;
  begin
  LineNr := 0;
  LineNr := FindLine('option',Page,LineNr);
  Line := TextAfter(Page.GetString(LineNr),'id_subq"');
While pos ('option',Line) > 0 do
  begin
  MovieAddress := 'http://www.asianworld.it/subrisultato.php?id_subq=' + TextBetween(Line, 'option value="', '"');
  MovieTitle := Textbetween(Line,'">','</');
Line := textafter (Line, '</option>');
    PickTreeAdd(MovieTitle, MovieAddress);
    if TheMovieAddress='*' then
      TheMovieAddress := MovieAddress
    else
      TheMovieAddress := '';
  end;
  if TheMovieAddress='*' then TheMovieAddress := '';
end;

// -----------------------------
// Questo è il main dello script
// -----------------------------
begin
  if CheckVersion(3,5,0) then
   begin
    TheMovieAddress := '*';
    moviename:= GetField(fieldTranslatedTitle);
    if MovieName = '' then MovieName := GetField(fieldOriginalTitle);
if (GetOption('EmuleClearer')=1) then
begin
     MovieName := StringReplace(GetField(fieldTranslatedTitle), '.', ' ');
    if MovieName = '' then
      MovieName := StringReplace(GetField(fieldOriginalTitle), '.', ' ');
While pos ('[', MovieName) > 0 Do begin
  MovieName := TextBefore(MovieName, '[', '') + TextAfter(MovieName, ']');
end;
end;
    if Input('AsianWorld Import', 'Digita il titolo del film:', MovieName) then
    begin
      AnalyzePage('http://www.asianworld.it/cercasub_iniziale.php?inizialeq='+UrlEncode(MovieName));
    end;
   end
  else
    ShowMessage('Questo script richiede una versione più nuova di Ant Movie Catalog (almeno la versione 3.5.0)');
end.
New script has been corrected by: saxabar

Posted: 2007-11-18 20:32:01
by antp
Thanks, but it would maybe better to update versions and authors info then?

Posted: 2007-11-18 23:16:35
by ABNormal
you're right
i did it.