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.

Topics - pra15

Pages: [1]
Scripts and Templates / egafd website out !
« on: June 30, 2015, 03:05:11 pm »
It seems that the site is out since some months. This site was very rich with infos for old movies.

If anybody was interest i have modified egafd_movie and egafd_people to have still infos with the site web archive.

The search doesn't work now, you must search manually the movie or the person and copy the Url in PVD.

1) go to

2) put in the searchbar or

3) search in the alphabetic order your movie or actress

4) copy the url found and paste it in pvd

5) you must have an url like https://web.archive....
   delete "https://", keep only web.archive......

6) Use the scripts

NB: For the photo of actress you must save it manually.

Support / Horizontal Tab in memo field
« on: February 18, 2015, 09:48:14 pm »
Just a little question,
I tried to put Horizontal Tab (#09) in comment field but the space doesn't appears in normal mode. When i look comment field in modified mode the space appears. Is It Normal?

Scripts and Templates / Little correction on AdultDVDEmpire script
« on: February 18, 2015, 09:45:45 am »
Some page change links of Front and Back cover.
Addapt of your sort of script:
Code: [Select]
//Poster (Front & Back)
  PosterURL := HTMLValue(HTML, 0, 0, '<div id="Boxcover"><a href="', '"');
  BackPosterURL := StringReplace(PosterURL, 'h.jpg', 'bh.jpg', False, True, False);
  Logmessage ('Front: ' + PosterURL);
  if PosterURL = '' then begin
  PosterURL := HTMLValue(HTML, 0, 0,'</span></span></a><br /><a href="', '"');
  BackPosterURL := StringReplace(PosterURL, 'h.jpg', 'bh.jpg', False, True, False);
  LogMessage('poster: '+ PosterURL +', back: '+ BackPosterURL);
  AddImageURL(0, PosterURL);
  AddImageURL(0, BackPosterURL);
  end else if (PosterURL <> ' ') AND (PosterURL <> BackPosterURL) then begin
  AddImageURL(0, PosterURL);
  AddImageURL(0, BackPosterURL);
  end else
    LogMessage('poster not found');

Scripts and Templates / Project Allocine script
« on: February 08, 2015, 06:58:17 pm »
I would like to make a script for
I thought make two script because info are in different page.
The first script give the link of the movie and when we have it, use this link in a second scipt to take info from actors or image.
I started to make the first script (attached).

In the page of result to a search of movie give several results, but it seems i can't obtain more than one result in my prList.
In The Code of the page we can see all the movies but it seems they are hide for the script exept the first.
I know nothing about HTML programming. If someone can explain That!

</span> <!-- /fs11 -->

Probably it's after this (in red in the code page).

I stop the code because in the page of casting it's the same principle and if we can't resolve this..........

N.B: I tried different boucles.... Erase in the script because don't work.
I tried to Pos('Second movie') give 0.

This script has now been released and is available via the program's auto-update system. Run Help > Check for updates and choose from the list.

Scripts and Templates / Multi Dimentional Array in script
« on: February 02, 2015, 02:27:47 pm »
I tried to use multidimentional array in import script but that give me always an error.

I declare it like this : Name : Array [a..b][c..d] of string;
or like this Name : Array [a..b] of Array [c..d] of string;
or like this Name : Array[a..b,c..d] of string.

but always an error.
If someone can help me to know if it's possible.


Feature Suggestions / Script with option at start
« on: January 27, 2015, 06:26:28 pm »
Just an idea,

when using a script with options in code, perhaps it would be good to show, at start, a windows to select options with checkbox for example.

Scripts and Templates / HotMovies Poster Script
« on: January 27, 2015, 05:58:26 pm »

I made a script to download covers in
The file is attached.
It seems to work. Must be tested more for exeptions.

I have one problem in the search :
I add a link in the prlist for the next page of results in hotmovies. I can call page 2 but not page 3 and more.
If someone can explain that.

I made an option to search all the title ("the title") or separate part of title ("the"+"title2).
Default is "the title".
Not very useful but....

Some movies in the site have not large cover but only thumbnails, i choose to download only large cover.

Sorry for the english!

Scripts and Templates / Use a script whithout connection to the net
« on: January 19, 2015, 11:12:17 am »

I used a script with an old version of PVD to modify a field without connection to internet.
I had create a file x.txt in the harddisk of my PC and use it for the fonction of GetDownloadURl. It worked good.
But now with the version of PVD i have an error in the debug mode in getdownloadurl.

I give my script if someone understand.

Development / Export csv file
« on: January 19, 2015, 10:49:20 am »

I would like to export the title and the url of database movies.
As i'm not programmer, i have just modified the csv export plug in existing in PVD.

Code: [Select]
replace="#13#10<-> "
replace="#13<-> "
replace="#10<-> "
filter="CSV Files|*.csv"

The problem that there is only one film in the export csv file and not the complete database.

If someone can help me, thanks for advance.

Scripts and Templates / Use BING as default search result
« on: January 25, 2012, 07:40:06 am »
Here is a little script to use BING for site who doesn't support a search page like

It's an exemple and we can improve it but if someone is interesting....

I use for exemple but you can change the const SiteSearch and put what you want. (in the declaration at start)

[attachment deleted by admin]

Development / SOPA block script iafd_people
« on: January 21, 2012, 11:10:11 am »
SOPA block downloading infos with script iafd_people !
You must deactivate all part in the script related to search photo and change in parse page : result := prfinished and not prdownload
The info are good but no photo!

Scripts and Templates / Get datas of Tree Filmography Field ?
« on: December 26, 2011, 06:21:35 pm »

I would like to know if it's possible, in a script to obtain datas who are in filmography field ?

Feature Suggestions / Function RenameFile in script
« on: December 26, 2011, 06:12:29 pm »

I noted that if we have already create a database and if we want rename all movie file with data in PVD (like OrigTitle,year, studio) it's very difficult.
I think if a function can exist for use in script to rename a file using data in field it would be very interesting, and with this the possibility of change value in Path Field if it already exist.

Now i try to remedy to this in exporting my database in a CSV file, re-write my CSV file with a oooBasic macro where i change path, and re-import the new csv File in PVD.

Sorry for my english.

Support / Infos about Function Posfrom
« on: December 02, 2011, 10:15:02 am »

Perhaps this question is ridiculous but i would like to know if the Function PosFrom has limitations for the variable SbStr.

Sometimes the function return 0 while the text searched is in the page.
I look the code of a page web with firefox.
Perhaps the text get from PVD is not the same as we can see in firefox ?

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

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

  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)

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

//Some useful constants
 //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 and above!!!

 SCRIPT_NAME    = '';
 SCRIPT_DESC    = '[EN] Get movie information from';
 SCRIPT_LANG    = $09; //English
 SCRIPT_TYPE    = stMovies;
 BASE_URL    = '';

 SEARCH_STR  = '';
 CODE_PAGE   = 0; //Use 0 for Autodetect

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

function GetScriptVersion : String;
function GetScriptName : String;
 Result :=  SCRIPT_NAME;

function GetScriptDesc : String;
 Result := SCRIPT_DESC;

function GetRatingName : String;
 Result := RATING_NAME;

function GetScriptLang: Cardinal;
 Result := SCRIPT_LANG;

function GetCodePage : Cardinal;
 Result := CODE_PAGE;

function GetBaseURL : AnsiString;
 Result := BASE_URL;

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

function GetScriptType : Byte;
 Result := SCRIPT_TYPE;

function GetCurrentMode : Byte;
 Result := Mode;

procedure FindPoster(HTML : String);

 curPos, EndPos : Integer;
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);
// ParseMovie
//  - after searchlist selection this function is called with the new html content
procedure ParseMovie(MovieURL : String; HTML : String);

 curPos, EndPos, P, P2, L: Integer;
actPosEnd, UrlPosStart,UrlPosEnd,debug_pos1:Integer;
 Tmp, URL, Name,dbgstrg,tmpstrg : String;
 ActorNames: TWideArray;
 ActorNumber,I,J: Integer;
    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);
   dbgstrg := '';
   CurPos := Pos('Released: ', HTML);
   endpos := CurPos;
         LogMessage('getting year');
         dbgstrg := TextBetween(HTML, '">', '</td>', False, CurPos);
         LogMessage('YEAR:' + dbgstrg);
   curPos := Pos('Director: ', HTML);
   EndPos := curPos;
         LogMessage('getting Director');
         dbgstrg:= TextBetween(HTML, '">', '</td>', False, CurPos);
         LogMessage('DIRECTOR:' + dbgstrg);
         AddMoviePerson(dbgstrg, '', '', '', ctDirectors);

   curpos := Pos('Notes: ' , HTML);
   EndPos := curPos;
         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);
   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) ));
         // 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) ));
            if debug_pos1 >0 then
            Name := Copy(Name,0,debug_pos1-1);
            AddMoviePerson(Trim(Name), '', '', LowerCase(URL), ctActors);
            curPos := PosFrom('href="', HTML, actPosEnd);

end; // End of the routine...

// ParseSearchResults
// - create list of movies found during the search
procedure ParseSearchResults(HTML : String);
 curPos, EndPos, P : Integer;
 Title, Year, URL, Studio : String;
   LogMessage('procedure ParseSearchResults en cours')
   EndPos := 1;
   LogMessage('Parsing movie list...');
   curPos := PosFrom('<dt>', HTML, EndPos);
   while curPos > 0 do
      // 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);
         Title := TextBetween(HTML, '>', '</a>', False, EndPos);

         // 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);
            curPos := EndPos +  2;
            EndPos := PosFrom('<', HTML, curPos);
            Year := Copy(HTML, curPos, EndPos - curPos);
     AddSearchResult(Title, Studio, Year, URL, '');

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

// ParsePage
// - Entrypoint for the script. Check if the search-term leads to zero, one or many results.
function ParsePage(HTML : String; URL : AnsiString) : Cardinal;
   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)}

 Mode := smSearch;

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]