http://www.impawards.com/
This is a great site for movie posters... It would be great if someone made a script for AMC... Can't do it myself though...
anyone?
Script for -- Movie Poster Awards (http://www.impawards)
I hope it works for you (spanish messages sorry)
Code: Select all
// GETINFO SCRIPTING
// IMP Awards v1.0 by micmic.ifs
program micmic;
var
MovieName: string;
const
BaseURL = 'http://www.impawards.com/cgi-bin/htsearch?method=or&words=';
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 AnalyzePage(Address: string);
var
Page: TStringList;
LineNr: Integer;
PosIni, PosFin: Integer;
Line, SubLine: string;
Title, DirURL: string;
txtTemp: string;
begin
Page := TStringList.Create;
Page.Text := GetPage(Address);
if Pos('IMP could not find any matches for', Page.Text) > 0 then
begin
ShowMessage('No se ha encontrado ningún artículo por título.');
end else
begin
PickTreeClear;
PickTreeAdd('Resultados de la búsqueda para "' + MovieName + '":', '');
// buscamos los resultados
LineNr := 0;
while LineNr < Page.Count do
begin
SubLine := Page.GetString(LineNr);
txtTemp := '<dl><dt><strong><a href="';
PosIni := pos(txtTemp, SubLine);
if PosIni > 0 then
begin
//ShowMessage(IntToStr(PosIni));
SubLine := Copy(SubLine, PosIni + Length(txtTemp), Length(SubLine));
txtTemp := '">';
PosFin := pos(txtTemp, SubLine);
DirURL := Copy(SubLine, 1, PosFin - 1);
SubLine := Copy(SubLine, PosFin + Length(txtTemp), Length(SubLine));
txtTemp := '</a>';
PosFin := pos(txtTemp, SubLine);
Title := Copy(SubLine, 1, PosFin - 1);
//ShowMessage(Title + '-->' + DirURL);
PickTreeAdd(Title, DirURL);
end;
LineNr := LineNr + 1;
end;
Page.Free;
if PickTreeExec(Address) then
AnalyzeMoviePage(Address);
end;
end;
procedure AnalyzeMoviePage(Address: string);
var
Page: TStringList;
PosIni, PosFin: Integer;
dirBase: string;
txtTemp: string;
ImgTMP: string;
begin
Page := TStringList.Create;
Page.Text := StringReplace(GetPage(Address), '<br>', #13#10);
//obtenemos directorio base
PosFin := 0;
dirBase := Address;
PosIni := pos('/', dirBase);
while PosIni > 0 do
begin
PosFin := PosFin + PosIni;
dirBase := Copy(dirBase, PosIni + 1, Length(DirBase));
PosIni := pos('/', dirBase);
end;
dirBase := Copy(Address, 1, PosFin);
//buscamos la imagen
txtTemp := '<img SRC="posters/';
PosIni := pos(txtTemp, Page.Text);
if PosIni > 0 then
begin
txtTemp := Copy(Page.Text, PosIni + Length(txtTemp), Length(txtTemp));
PosFin := pos('"', txtTemp);
ImgTMP := Copy(txtTemp, 1, PosFin - 1);
GetPicture(dirBase + 'posters/' + ImgTMP, False);
end;
Page.Free;
DisplayResults;
end;
// bmicmic: Bucle Principal
begin
if CheckVersion(3,4,0) then
begin
MovieName := GetField(fieldOriginalTitle);
if MovieName = '' then
MovieName := GetField(fieldTranslatedTitle);
Input('Importar de IMP Awards', 'Introduce el Titulo de la Pelicula:', MovieName);
AnalyzePage(BaseURL + UrlEncode(MovieName));
end else
ShowMessage('Este script necesita una versión superior de Ant Movie Catalog (al menos la version 3.4.0)');
end.
403 Forbiden
I get a 403 Forbiden error every time i try to get a poster from this site.
It worked once, the first time i used it and never worked again. Any ideas ?!?
This site is the BEST !!!![grin kind :grinking:](./images/smilies/grin3.gif)
![crying :cry:](./images/smilies/cry.gif)
It worked once, the first time i used it and never worked again. Any ideas ?!?
This site is the BEST !!!
![grin kind :grinking:](./images/smilies/grin3.gif)
replace
with
with only 18 characters, the text wasn't enough to cover movies longer than 13 characters... now it should be O.K. ![wink ;)](./images/smilies/wink.gif)
Code: Select all
txtTemp := Copy(Page.Text, PosIni + Length(txtTemp), Length(txtTemp));
Code: Select all
txtTemp := Copy(Page.Text, PosIni + Length(txtTemp), 100);
![wink ;)](./images/smilies/wink.gif)