(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=LA (Andrey Lukyanov) (l_a@hotmail.ru)
Title=Movies NNov
Description=Imports russian movies info with picture from Movies.nnov.ru
Site=http://www.movies.nnov.ru/
Language=RU
Version=1.0.1 (29.06.2005)
Requires=3.5.0
Comments=Few changes was made by Karb0f0s.
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]
OriginalTitle=2|2|1=Добавлять полное оригинальное название|2=Добавлять только первое оригинальное название
CountryTranslate=1|1|1=Переводить название страны на русский|2=Оставить на английском
CategoryTranslate=1|1|1=Переводить жанр на русский|2=Оставить на английском
DirectorTranslate=3|2|1=Транслитерировать имя режиссера на русский|2=Оставить на английском|3=Транслитерировать имя режиссера на русский, но оставить оригинал в скобках|4=Оставить на английском, но добавить транслитерированный вариант в скобках
ActorsLayout=1|1|1=Только имена актеров, разделенные запятыми|2=Только имена актеров построчно|3=Имена актеров с персонажами в скобках, разделенные запятыми|4=Имена актеров с персонажами в скобках построчно
ActorsTranslate=2|2|1=Транслитерировать имена актеров [и персонажей] на русский|2=Оставить на английском
Picture=1|1|1=Загружать изображение|2=Загружать ТОЛЬКО изображение|3=Не загружать изображение
***************************************************)
program KinoShara;
const
BaseAddress = 'http://www.movies.nnov.ru/cat/';
var
MovieName: string;
// функция преобразования английского текста в русский
function EngToRus(Text:String):String;
var
i : Integer;
Eng, Rus : String;
begin
Eng := 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
Rus := 'квертиюиопасдфжхюклзсцвбнмКВЕРТИЮИОПАСДФЖХЮКЛЗСЦВБНМ';
result := Text;
for i := 1 to Length(Eng) do
result:=StringReplace(result, Copy(Eng,i,1), Copy(Rus,i,1));
end;
function ParseURL(Text:String):String;
var
BeginPos : Integer;
EndPos : Integer;
Value : String;
begin
repeat
BeginPos := Pos('',Text);
If BeginPos > 0 Then
Begin
EndPos := Pos('',Text);
Value := copy(Text, BeginPos, EndPos - BeginPos);
Value := StringReplace(Value,' ',', ');
Value := StringReplace(Value,' ',', ');
HTMLRemoveTags(Value);
Delete(Text,1,EndPos);
If Length(result)>0 Then
result := result + ', ' + Value
else
result := Value;
end;
until BeginPos < 1;
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(AnsiLowerCase(Pattern), AnsiLowerCase(List.GetString(i))) <> 0 then
begin
result := i;
Break;
end;
end;
procedure AnalyzePage(Address: string);
var
ID, FilmName, Line: String;
Page: TStringList;
FilmPage: TStringList;
BeginPos, EndPos : Integer;
begin
Page := TStringList.Create;
Page.Text := GetPage(Address);
// Page.SaveToFile('c:\page1.txt'); // для отладки
// Page.LoadFromFile('c:\page1.txt');
PickTreeClear; // Очистка дерева фильмов
PickTreeAdd('Поиск по слову: ' + MovieName, '');
Line:= copy(Page.Text, 1, length(Page.Text));
if Pos('