(*************************************************** Ant Movie Catalog importation script www.antp.be/software/moviecatalog/ [Infos] Authors= Title=DVDnet.ru Description=Imports big picture from DVDnet.ru Site=DVDnet.ru Language=RU Version= Requires=3.5.0 Comments= Based on a script written Kamik aka SlawDD License=This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. | GetInfo=1 [Options] ***************************************************) program DVDnet_PICT; const BaseAddress = 'http://www.dvdnet.ru/'; var MovieName: string; MovieName2: string; 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; procedure AddMoviesTitlesDVD(Page: TStringList; var LineNr: Integer); var Line: string; MovieTitle, MovieAddress: string; StartPos, EndPos: Integer; begin LineNr := FindLine('ÔÈËÜÌÛ (æàíð è àêò¸ðû, èãðàþùèå ãëàâíûå ðîëè):
', Page, 0); Line := Page.GetString(LineNr); repeat WHILE pos('', Line) - StartPos); StartPos := pos('">', Line) + 2; MovieTitle := copy(Line, StartPos, pos('', Line) - StartPos); Delete(Line, 1, pos('
<', Line)); HTMLDecode(Movietitle); HTMLRemoveTags(MovieTitle); PickTreeAdd(MovieTitle, BaseAddress + MovieAddress); end; LineNr := LineNr + 1; Line := Page.GetString(LineNr); until (pos('ÌÓËÜÒÔÈËÜÌÛ:
', Line)>0) or (pos('', Line)>0); end; procedure AddAnimeTitlesDVD(Page: TStringList; var LineNr: Integer); var Line: string; MovieTitle, MovieAddress: string; StartPos, EndPos: Integer; begin LineNr := FindLine('ÌÓËÜÒÔÈËÜÌÛ:
', Page, 0); Line := Page.GetString(LineNr); repeat WHILE pos('', Line) - StartPos); StartPos := pos('">', Line) + 2; MovieTitle := copy(Line, StartPos, pos('', Line) - StartPos); Delete(Line, 1, pos('
<', Line)); HTMLDecode(Movietitle); HTMLRemoveTags(MovieTitle); PickTreeAdd(MovieTitle, BaseAddress + MovieAddress); end; LineNr := LineNr + 1; Line := Page.GetString(LineNr); until (pos('', Line)>0); end; procedure AddPictureDVD(Page: TStringList); var Line, Value : string; LineNr, BeginPos, EndPos: Integer; begin // Get Picture LineNr := FindLine('window.open("pict', Page, 0); if LineNr > -1 then begin Line := Page.GetString(LineNr); BeginPos := pos('"pict', Line); Delete(Line, 1, BeginPos); EndPos := pos('"', Line); Value := BaseAddress + copy(Line, 1, EndPos - 1); GetPicture(Value); // False = do not store picture externally ; store it in the catalog file end; end; procedure AnalyzePage(Address: string); var Page: TStringList; LineNr, StartPos, EndPos, L: Integer; Line: string; MovieAddress, FindMovieName : string; begin PickTreeClear; Page := TStringList.Create; Page.Text := GetPage(Address); if (pos('Ïî âàøåìó çàïðîñó â áàçå íàéäåíî:', Page.Text)>0) then begin PickTreeAdd('Íàéäåíî íà www.dvdnet.ru', ''); LineNr := FindLine('ÔÈËÜÌÛ (æàíð è àêò¸ðû, èãðàþùèå ãëàâíûå ðîëè):
', Page, 0); if LineNr >-1 then begin PickTreeAdd('Ôèëüìû', ''); AddMoviesTitlesDVD(Page, LineNr); end; LineNr := FindLine('ÌÓËÜÒÔÈËÜÌÛ:
', Page, 0); if LineNr > -1 then begin PickTreeAdd('Ìóëüòôèëüìû', ''); AddAnimeTitlesDVD(Page, LineNr); end; if PickTreeExec(Address) then begin Page := TStringList.Create; Page.Text := GetPage(Address); AddPictureDVD(Page); end; Page.Free; end; //DisplayResults; end; begin PickListClear; if CheckVersion(3,5,0) then begin MovieName := GetField(fieldOriginalTitle); if MovieName = '' then MovieName := GetField(fieldTranslatedTitle); if Input('Import picture from DVDNet.ru', 'Enter the title of the movie:', MovieName) then begin MovieName2:=MovieName; MovieName:=StringReplace(MovieName, '’', Chr(39)); MovieName:=AnsiLowerCase(MovieName); MovieName:=AnsiUpFirstLetter(MovieName); if pos('The ', MovieName)=1 then MovieName:=StringReplace(MovieName, 'The ', ''); AnalyzePage('http://www.dvdnet.ru/index.php?p=9&searching=y&checkform=y&search='+UrlEncode(MovieName)); end else ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)'); end; end.