English > Feature Suggestions
Suggestion for Ivek23
			deazo:
			
			
 Hi all,
 I'm sorry for putting this on you Ivek23 but I have been dying for seeing a Rotten tomatoes ratings import for PVD.
 I cannot help to notice that you were able to fix the IMDB script so that it could take the IMDB ratings....
 Would you be able to do the same for RT ratings?
 I do not care about any other info coming from RT, only their ratings.
 I don't know if this can help you, but there is a Chrome extension that brings RT ratings into the IMDB page.
https://chrome.google.com/webstore/detail/imdbrt/dhmlipoakdghhhemjmefopbcdcobiphp
 If you install the extension, then go into your chrome extension manager you get access to the script (background html) it uses.
 I wonder if that script could not help you (or anyone here) to "transcript" it for PVD.
 I hope I am making sense, and I know this has been requested a while ago, but RT ratings are soooo much better than IMDB's that I constantly check them out on the IMDB page using the extension.
 It is perfectly OK for you to tell me to bugger off and delete that request  :)
 Thank you for your efforts (past and future).
 D.
 
		
			Ivek23:
			
			No, I do not mind. I need a bit more time for a little more detailed look into this. It is also true, it will be a bit less time to the end of this week. When I know more, I will messages.
		
			Ivek23:
			
			I took a look at that, what you ask, but as far as I see, it will not work.
I use Firefox and there is a similar Greasemonkey script
(IMDB_-_add_Rottentomatoes_info)  shows the same as Chrome extension.
I'll explain for example Casablanca (1942) movie:
So one as another extension in Casablanca (1942) movie for IMDB,  leaves no piece of code in the source code page, that this could be used for example, Imdb Movie script. 
It is possible (maybe, we'll see) it would be well done RT script for Casablanca (1942) movie  on RT (and other movies).
I wonder which part of the rating you are interested in:
first, second or both of the percentages, or anything else.
Maybe will then simple RT script written to the end of the week.
		
			Ivek23:
			
			
--- Quote from: Ivek23 on November 14, 2012, 08:27:38 pm ---Maybe will then simple RT script written to the end of the week.
--- End quote ---
With a little effort I managed do simple RT script .
For unregistered users:
Rottentomatoes.psf
--- Code:  ---(*	
SCRIPT INFO:
---------------------------------------------
SCRIPT:		Rottentomatoes Script 
AUTHOR:			Ivek23
VERSION:		0.1.0.0
DATE:			17/11/2012
---------------------------------------------
*)
//SCRIPT BEGINS HERE...
//Some useful constants
const
//Script types
	stMovies		= 0;
	stPeople		= 1;
	stPoster		= 2;
	
///Script modes
	smSearch		= 0;
	smNormal		= 1;
	smCast			= 2;
	smReview		= 3;
	smCredits		= 4;
	smDVDReleases	= 5;
	smBiography		= 6;
	smGenreindex	= 7;
	smAwards		= 8;
	smMiscellaneous	= 9;
	smPoster		= 10;
	smFinished		= 11;
	
//Parse results
	prError			= 0;
	prFinished		= 1;
	prList			= 2;
	prListImage		= 3;
	prDownload		= 4;
	
//Prefix modes
	pmNone			= 0;
	pmEnd			= 1;
	pmBegin			= 2;
	pmRemove		= 3;
	
//Download methods
	dmGET			= 0;
	dmPOST			= 1;
	
//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;  
	pfComment    	= 9;
	pfBookmark   	= 10;
	pfPid        	= 11; 
	pfCareer     	= 12; 
	
//Credits types
	ctActors		= 0;
	ctDirectors		= 1;
	ctWriters		= 2;
	ctComposers		= 3;
	ctProducers		= 4;
	
//Script data
	SCRIPT_VERSION	= '0.1.0.0';
	SCRIPT_NAME		= 'Rottentomatoes Script';
	SCRIPT_DESC		= '[EN] Get Movie Information about from Rottentomatoes.com';
	SCRIPT_LANG		= $09; //English
	SCRIPT_TYPE		= stMovies;
	
	BASE_URL		= 'http://www.rottentomatoes.com';
	RATING_NAME		= 'Rottentomatoes';
	SEARCH_STR		= 'http://www.rottentomatoes.com/search/?search=%s&sitesearch=rt';
	CODE_PAGE		= 65001;	//Use 0 for Autodetect
	
//Global variables
var
ELI : Integer;
Mode : Byte;
ExtraLinks : array [smCast..smPoster] of 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 (Mode = smSearch) then
		Result := SEARCH_STR
	else
		Result := ExtraLinks[Mode];
end;
function GetDownloadMethod : Byte;
begin
	Result := dmGET;
end;
function GetPrefixMode : Byte;
begin
	Result := pmBegin;
end;
function GetScriptType : Byte;
begin
	Result := SCRIPT_TYPE;
end;
function GetCurrentMode : Byte;
begin
	Result := Mode;
end;
procedure ParseMovie(MovieURL : String; HTML : String);
var
	curPos, endPos : Integer;
	TmpStr : String;
begin
//Get ~mfURL~ or ~RT Url~
endPos := Pos('" itemprop="url"/>', HTML);
if endPos > 0 then begin
	curPos := PrevPos('"canonical" href="', HTML, endPos);
	AddFieldValue(mfURL, Copy(HTML, curPos + 18, endPos - curPos - 18));	
end else
AddFieldValue(mfURL, MovieURL);
//~Rating~ or ~RT Rating~
curPos := PosFrom('<p class="critic_stats">', HTML, EndPos);
if curPos > 0 then begin
	EndPos := curPos;
	TmpStr :=  TextBetween(HTML, 'Average Rating: <span>', '/10</span>', True, curPos);
	AddFieldValue(mfRating, TmpStr);
	AddCustomFieldValueByName('RT Rating', TmpStr);
end;
 
end;
procedure ParseSearchResults(HTML : String);
var
	curPos, endPos : Integer;
	Title, Year, URL, Preview : String;
begin
	curPos := Pos('<ul id="movie_results_ul" class="results_ul" ', HTML);
	if curPos < 1 then
		Exit;
LogMessage('Parsing search results...');
	curPos  := PosFrom('<img src="', HTML, curPos)+10;
	endPos  := PosFrom('" width=', HTML, curPos);
	Preview := Trim(Copy(HTML, curPos, endPos - curPos));
	
curPos := PosFrom('<a href="/m/', HTML, curPos);
while (curPos > 0) AND (curPos < PosFrom('<a id="more_movies" href="#results_movies_tab">More Movies...</a>', HTML, endPos)) do begin
	endPos	:= PosFrom('"  class=', HTML, curPos);
	URL		:= 'http://www.rottentomatoes.com/'+Trim(Copy(HTML, curPos+9, endPos - curPos-9));
	
	curPos	:= PosFrom('"  class="" >', HTML, curPos);
	endPos	:= PosFrom('</a>', HTML, curPos);
	Title	:= TextBetween(HTML, '"  class="" >', '</a>', True, curPos); 
	
	curPos	:= PosFrom('</a>', HTML, curPos);
	endPos	:= PosFrom('</span></h3>', HTML, curPos);
	Year	:= TextBetween(HTML, '</a>', '</span></h3>', True, curPos);
	
	curPos  := PosFrom('<img src="', HTML, curPos)+10;
	endPos  := PosFrom('" width=', HTML, curPos);
	Preview := Trim(Copy(HTML, curPos, endPos - curPos));
	
	AddSearchResult(Title+' '+Year, '', '', URL, '');
	
	curPos := PosFrom('<a href="/m/', HTML, curPos);	
  end;
end;
function NextMode(curMode : Integer) : Integer;
var
	I : Integer;
begin
Result := smFinished;
if curMode < Low(ExtraLinks) - 1 then
	curMode := Low(ExtraLinks) - 1;
for I := curMode + 1 to High(ExtraLinks) do
	if ExtraLinks[I] <> '' then begin
		Result := I;
		Break;
	end;
end;
function ParsePage(HTML : String; URL : AnsiString) : Cardinal;
begin
HTML := HTMLToText(HTML);
HTML := StringReplace (HTML, 'http://rottentomatoes.com', 'http://www.rottentomatoes.com', True, True, False);
if Pos('Search Results - Rotten Tomatoes', HTML) > 0 then begin
	ParseSearchResults(HTML);
	Result := prList;
	Exit;
end else
 if Pos(' - Rotten Tomatoes</title>', HTML) > 0 then
    ParseMovie(URL, HTML);
Mode := NextMode(Mode);
if Mode <> smFinished then
	Result := prDownload
else
	Result := prFinished;
end;
begin
Mode := smSearch;
for ELI := Low(ExtraLinks) to High(ExtraLinks) do
	ExtraLinks[ELI] := '';
end.
--- End code ---
Rottentomatoes script is attached.
[attachment deleted by admin]
		
			deazo:
			
			
 OMG YOU DID IT!!!
 Sorry I did not check the forum for a while I was not expecting you to do it.
 Thank you soooooo much Ivek23 this will help me a lot choose the right movie to watch.
 
--- Quote ---I wonder which part of the rating you are interested in:
first, second or both of the percentages, or anything else
--- End quote ---
 I was interested by the first % which is the tomatometer.
 I managed to get the "average rating" in a custom field called "RT rating" in my movie page (please see attached image), but what I was after was having it displayed just like the allmovie and imdb ratings are displayed.
 Do you know if this is possible?
 Thank you thak you thank you again
 
[attachment deleted by admin]
		
Navigation
[0] Message Index
[#] Next page
Go to full version