Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - pra15

Pages: 1 ... 4 5 6 7 8 [9]
161
Development / Re: Script for egafd.com
« on: November 28, 2011, 09:06:54 pm »
Thanks a lot!


I'm fighting with the search Function since two days!
HHHHHHAAAAAAAA!

I can find the URL, if the name or pseudo is strictly the same, but if it's only a part of the real name ........
egafd have pages with alphabetics letters.

162
Development / Re: Script for egafd.com
« on: November 27, 2011, 05:32:36 pm »
 >:(

Hello,

I'm blocked !!!!!
I search to obtain the value of the URL start.
I tried with : getfieldvalue(pfurl) but this give me a number and not a url !!!!  ???

Sorry i'm not a developer!

163
Development / Re: Script for egafd.com
« on: November 27, 2011, 11:54:55 am »
Ok, thanks,
manually, <link url= works good, i will try to incorporate this in the script later.
I'm trying to add function of search within the url at start.

164
Development / Re: Script for egafd.com
« on: November 27, 2011, 08:16:22 am »
Hello,
Thank you, great.

I wanted make this, but it's for the reason of my last question.
Is it possible to incorporate the link (clickable) of the movie (from egafd and not link title of the database) in the list of movie?

165
Development / Re: Script for egafd.com
« on: November 26, 2011, 11:32:02 pm »
Ok this script works for me,
I simplified it in maximum.
After have taken info about a movie with script egafd.psf, you have URL and name for actresse in egafd.
Now you can use this script egafd_people.psf for download photo and pseudonyms.

Is it possible to insert a link (to web page) in the field Biographie?
I try <Link="www......">Name</Link> but when i click in, nothing happens!

[attachment deleted by admin]

166
Development / Re: Script for egafd.com
« on: November 25, 2011, 11:11:07 pm »
Thanks a lot !

I try now with egafd_people, but my script doesn't work!

When i look the log, the values are good but no data are tranfered to my PC !

[attachment deleted by admin]

167
Development / Script for egafd.com
« on: November 24, 2011, 09:26:41 am »
Hello!
First sorry for my english (i'm french)!

I tried to make a script to download data from egafd.com, adapted to the iafd script.
Script :
//This version of script is for use with PVD versions 0.9.9.16 and above!!!
 (*
 Additional types and functions that can be used in scripts:

  //Types
  TWIDEARRAY : array of String

  //Field functions
  procedure AddSearchResult(Title1, Title2, Year, URL, PreviewURL : String)
  procedure AddFieldValue(AField: Integer; AValue : String)
  procedure AddMoviePerson(Name, TransName, Role, URL : String; AType : Byte)
  procedure AddPersonMovie(Title, OrigTitle, Role, Year, URL : String; AType : Byte)
  procedure AddAward(Event, Award, Category, Recipient, Year: String; const Won : Boolean)
  procedure AddConnection(Title, OrigTitle, Category, URL, Year: String)
  procedure AddEpisode(Title, OrigTitle, Description, URL, Year, Season, Episode : String)
 
  //String functions
  function Pos(Substr : String; Str: String): Integer
  function PosFrom(const SubStr, Str : String; FromIndex : Integer) : Integer
  function LastPos(const SubStr, Str : String) : Integer
  function PrevPos(const SubStr, Str : String; APos : Integer) : Integer
  function RemoveTags(AText : String; doLineBreaks : Boolean) : String
  function ExplodeString(AText : String; var Items : TWideArray; Delimiters : String) : Integer
  function Copy(S: String; Index, Count: Integer): String
  procedure Delete(var S: String; Index, Count: Integer)
  procedure Insert(Source: String; var Dest: String; Index: Integer)
  function Length(S: String): Integer
  function Trim(S: String): String
  function CompareText(S1, S2: String): Integer
  function CompareStr(S1, S2: String): Integer
  function UpperCase(S: String): String
  function LowerCase(S: String): String
  function StringReplace(S, OldPattern, NewPattern: String; ReplaceAll : Boolean; IgnoreCase : Boolean; WholeWord: Boolean): String
  function StrToInt(const S: String): Integer
  function IntToStr(const Value: Integer): String
  function StrToFloat(const S: String): Extended
  function FloatToStr(const Value: Extended): String

  function HTMLValues(const HTML : String; ABegin, AEnd, ItemBegin, ItemEnd : String; ValDelim : String; var Pos : Integer) : String
  function HTMLValues2(const HTML : String; ABegin, AEnd, ItemBegin, ItemEnd : String; ValDelim : String; var Pos : Integer) : String
  function TextBetween(const HTML : String; ABegin, AEnd : String; doLineBreaks : Boolean; var Pos : Integer) : String
  function HTMLToText(const HTML : String) : String

  procedure ShowMessage(const Msg, Head : String)
*)

const
 pauseBeforeLoad = 1000; // Pause before loading (in millisecond)

//Some useful constants
const
 //Script types
 stMovies = 0;
 stPeople = 1;
 stPoster = 2;
 
 //Script modes
 smSearch = 0;
 smNormal = 1;
 smPoster = 2;
 
 //Parse results
 prError     = 0;
 prFinished  = 1;
 prList      = 2;
 prListImage = 3;
 prDownload  = 4;
 
 //Movie fields
 mfURL         = 0;
 mfTitle       = 1;
 mfOrigTitle   = 2;
 mfAka         = 3;
 mfYear        = 4;
 mfGenre       = 5;
 mfCategory    = 6;
 mfCountry     = 7;
 mfStudio      = 8;
 mfMPAA        = 9;
 mfRating      = 10;
 mfTags        = 11;
 mfTagline     = 12;
 mfDescription = 13;
 mfDuration    = 14;
 mfFeatures    = 15;

 
 //People fields
 pfURL        = 0;
 pfName       = 1;
 pfTransName  = 2;
 pfAltNames   = 3;
 pfBirthday   = 4;
 pfBirthplace = 5;
 pfGenre      = 6;
 pfBio        = 7;
 pfDeathDate  = 8;
 
 //Credits types
 ctActors    = 0;
 ctDirectors = 1;
 ctWriters   = 2;
 ctComposers = 3;
 ctProducers = 4;
 
 //Script data
 //This version of script is for use with PVD versions 0.9.9.16 and above!!!

 SCRIPT_VERSION = '0.0.0.1';
 SCRIPT_NAME    = 'EGAFD.com';
 SCRIPT_DESC    = '[EN] Get movie information from EGAFD.com';
 SCRIPT_LANG    = $09; //English
 SCRIPT_TYPE    = stMovies;
 
 BASE_URL    = 'http://www.egafd.com';
 RATING_NAME = 'ADE';

 SEARCH_STR  = 'www.egafd.com/results.asp?SearchType=Mozilla-search&SearchString=%s';
 
 CODE_PAGE   = 0; //Use 0 for Autodetect

 
//Global variables
var
 Mode : Byte;
 PosterURL : String;

//Functions
function GetScriptVersion : String;
begin
 Result := SCRIPT_VERSION;
end;
 
function GetScriptName : String;
begin
 Result :=  SCRIPT_NAME;
end;

function GetScriptDesc : String;
begin
 Result := SCRIPT_DESC;
end;

function GetRatingName : String;
begin
 Result := RATING_NAME;
end;

function GetScriptLang: Cardinal;
begin
 Result := SCRIPT_LANG;
end;

function GetCodePage : Cardinal;
begin
 Result := CODE_PAGE;
end;

function GetBaseURL : AnsiString;
begin
 Result := BASE_URL;
end;

function GetDownloadURL : AnsiString;
begin
 if PosterURL = '' then
  Result := SEARCH_STR
 else
  Result := PosterURL;
end;

function GetScriptType : Byte;
begin
 Result := SCRIPT_TYPE;
end;

function GetCurrentMode : Byte;
begin
 Result := Mode;
end;

procedure FindPoster(HTML : String);

var
 curPos, EndPos : Integer;
begin
LogMessage('procedure Findposter en cours')
// curPos := Pos('<span class="Item_ViewTitle">Box Cover</span>', HTML);
// curPos := PosFrom('<img src="', HTML, curPos);
// curPos := curPos + Length('<img src="');
// EndPos := PosFrom('"', HTML, curPos);
 
// PosterURL := Copy(HTML, curPos, EndPos - curPos);
end;
 
// ParseMovie
//  - after searchlist selection this function is called with the new html content
procedure ParseMovie(MovieURL : String; HTML : String);

var
 curPos, EndPos, P, P2, L: Integer;
 actPosStart,actPosStart2,
actPosEnd, UrlPosStart,UrlPosEnd,debug_pos1:Integer;
 Tmp, URL, Name,dbgstrg,tmpstrg : String;
 ActorNames: TWideArray;
 ActorNumber,I,J: Integer;
begin
    AddFieldValue(mfURL, MovieURL);
    LogMessage('Page parsing started');
    EndPos := 1;

   //Check for title. No orig. title info present, so duplicate..
   dbgstrg:= TextBetween(HTML, '<title>', '</title>', False, EndPos);
   LogMessage('Title: ' + dbgstrg);
   AddFieldValue(mfOrigTitle,dbgstrg);
   AddFieldValue(mfTitle,dbgstrg);
   
   //Year
   dbgstrg := '';
   CurPos := Pos('Released: ', HTML);
   endpos := CurPos;
         LogMessage('getting year');
         dbgstrg := TextBetween(HTML, '">', '</td>', False, CurPos);
         LogMessage('YEAR:' + dbgstrg);
         AddFieldValue(mfYear,dbgstrg);
   
   //Director
   curPos := Pos('Director: ', HTML);
   EndPos := curPos;
         LogMessage('getting Director');
         dbgstrg:= TextBetween(HTML, '">', '</td>', False, CurPos);
         LogMessage('DIRECTOR:' + dbgstrg);
         AddMoviePerson(dbgstrg, '', '', '', ctDirectors);


   //Notes
   curpos := Pos('Notes: ' , HTML);
   EndPos := curPos;
         LogMessage('Notes')
         dbgstrg := TextBetween(HTML, '">', '</td>', False, CurPos);
         LogMessage('Notes :' + dbgstrg);
         AddFieldValue(mfDescription, dbgstrg);
   
   //AKA - Titles...
   LogMessage('getting all titles')
   Curpos := Pos('<th>Alternate Titles</th>' ,HTML);
   EndPos := curPos;
      while (curPos > 0) AND (curPos < PosFrom('<th>Actresses</th>', HTML, EndPos)) do begin
         EndPos := curPos;
         actPosStart := PosFrom('class="flma"', HTML, EndPos);
         actPosEnd := PosFrom('</span>', HTML, actPosStart);
         dbgstrg := Trim(Copy(HTML, (actPosstart + 13), (actPosEnd - actPosStart - 13) ));
         LogMessage('AKA: ' + dbgstrg);
         AddFieldValue(mfAka, dbgstrg);
         curpos := PosFrom('class="flma"', HTML, actPosEnd);
      end;
   
   //Cast
   curPos:= Pos('<th>Actresses</th>', HTML);
   LogMessage('Cast readout');
   if curPos > 0 then    begin
   EndPos := curPos;
      while (curPos > 0) AND (curPos < PosFrom('<th>Notes</th>', HTML, EndPos)) do begin
      
         EndPos := curPos; // Set last position to actual position
         // get url
         UrlPosStart := PosFrom('href="', HTML, EndPos);  // search for url start
         UrlPosEnd := PosFrom('>', HTML, UrlPosStart);  // search for url end
      
         URL := BASE_URL + Trim(Copy(HTML, UrlPosStart + 6, (UrlPosEnd - UrlPosStart - 7) ));
   
         LogMessage(URL);
   
         // Get Name
         actPosStart := PosFrom('href="', HTML, EndPos);   // search for url start;
         actPosStart2 := PosFrom('">', HTML, actPosStart)
         actPosEnd:=PosFrom('</a>', HTML, actPosStart2);    // search for url end
         Name := Trim(Copy(HTML, (actPosStart2 + 2), (actPosEnd - actPosStart2 - 2) ));
         LogMessage(Name);
      
         debug_pos1:=Pos('(',Name);
            if debug_pos1 >0 then
            Name := Copy(Name,0,debug_pos1-1);
            LogMessage(Name);
      
            AddMoviePerson(Trim(Name), '', '', LowerCase(URL), ctActors);
                  
            curPos := PosFrom('href="', HTML, actPosEnd);
             end;
      end;

end; // End of the routine...


// ParseSearchResults
// - create list of movies found during the search
procedure ParseSearchResults(HTML : String);
var
 curPos, EndPos, P : Integer;
 Title, Year, URL, Studio : String;
begin
   LogMessage('procedure ParseSearchResults en cours')
   EndPos := 1;
   LogMessage('Parsing movie list...');
   curPos := PosFrom('<dt>', HTML, EndPos);
   
   while curPos > 0 do
      begin
      // Each movie entry starts with <dt>
      EndPos := curPos + Length('<dt>');
         curPos := PosFrom('<a href="', HTML, EndPos);
         if curPos > 0 then       begin
            curPos := curPos + Length('<a href="');
            EndPos := PosFrom('"', HTML, curPos);
            URL := BASE_URL + '/' + Copy(HTML, curPos, EndPos - curPos);
            LogMessage('URL detected: '+URL);
         end;
         Title := TextBetween(HTML, '>', '</a>', False, EndPos);
         LogMessage(Title);

         // Now that we got the title, move on to the studio...
         curPos := PosFrom('<b>Release Info:</b>', HTML, EndPos);
         
         if curPos > 0 then begin
            curPos := curPos + Length('<b>Release Info:</b>') + 1;
            EndPos := PosFrom(',', HTML, curPos);
         
            Studio := Copy(HTML, curPos, EndPos - curPos);
            LogMessage(Studio);
            curPos := EndPos +  2;
            EndPos := PosFrom('<', HTML, curPos);
            Year := Copy(HTML, curPos, EndPos - curPos);
            LogMessage(Year);
         end;
     AddSearchResult(Title, Studio, Year, URL, '');

     curPos := PosFrom('<dt>', HTML, EndPos);
    end;
end;

// ParsePage
// - Entrypoint for the script. Check if the search-term leads to zero, one or many results.
function ParsePage(HTML : String; URL : AnsiString) : Cardinal;
begin
   Wait (pauseBeforeLoad);
   LogMessage('Script version:' + SCRIPT_VERSION);
      Mode := smNormal;
      ParseMovie(URL, HTML);
      Result := prFinished; //script has finished it's job
      {Result := prError; //error (unknown page retrieved)}
end;

begin
 Mode := smSearch;
end.


For use this script, the URL of the page must be indicate in the data movie before execute.
The data transfered are good in my PC!

My problem is to write "notes" in field comment and not in field description!
I tried to declare "mfComment = 16;" but no data are transfered!

If somebody is interested, or can improve it!
Thanks a lot!

Pages: 1 ... 4 5 6 7 8 [9]
anything