mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 18:03:38 +08:00
added rottentomatoes.com onebox
This commit is contained in:
parent
9e3b70c20e
commit
9bc8faeaf2
BIN
app/assets/images/favicons/rottentomatoes.png
Normal file
BIN
app/assets/images/favicons/rottentomatoes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
|
@ -69,3 +69,18 @@ a.loading-onebox {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// RottenTomatoes Onebox
|
||||
.onebox-result {
|
||||
.onebox-result-body {
|
||||
img.verdict {
|
||||
float: none;
|
||||
margin-right: 7px;
|
||||
}
|
||||
img.popcorn {
|
||||
float: none;
|
||||
margin-left: 20px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
72
lib/oneboxer/rottentomatoes_onebox.rb
Normal file
72
lib/oneboxer/rottentomatoes_onebox.rb
Normal file
|
@ -0,0 +1,72 @@
|
|||
require_dependency 'oneboxer/handlebars_onebox'
|
||||
|
||||
module Oneboxer
|
||||
class RottentomatoesOnebox < HandlebarsOnebox
|
||||
|
||||
SYNOPSIS_MAX_TEXT = 370
|
||||
ROTTEN_IMG = 'http://images.rottentomatoescdn.com/images/icons/rt.rotten.med.png'
|
||||
FRESH_IMG = 'http://images.rottentomatoescdn.com/images/icons/rt.fresh.med.png'
|
||||
POPCORN_IMG = 'http://images.rottentomatoescdn.com/images/icons/popcorn_27x31.png'
|
||||
|
||||
matcher /^http:\/\/(?:www\.)?rottentomatoes\.com(\/mobile)?\/m\/.*$/
|
||||
favicon 'rottentomatoes.png'
|
||||
|
||||
def http_params
|
||||
{'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31' }
|
||||
end
|
||||
|
||||
def template
|
||||
template_path('rottentomatoes_onebox')
|
||||
end
|
||||
|
||||
def translate_url
|
||||
m = @url.match(/^http:\/\/(?:www\.)?rottentomatoes\.com(\/mobile)?\/m\/(?<movie>.*)$/mi)
|
||||
"http://rottentomatoes.com/mobile/m/#{m[:movie]}"
|
||||
end
|
||||
|
||||
def parse(data)
|
||||
html_doc = Nokogiri::HTML(data)
|
||||
|
||||
result = {}
|
||||
|
||||
result[:title] = html_doc.at('h1').content
|
||||
result[:poster] = html_doc.at_css('.poster img')['src']
|
||||
|
||||
synopsis = html_doc.at_css('#movieSynopsis').content.squish
|
||||
synopsis.gsub!(/\$\(function\(\).+$/, '')
|
||||
result[:synopsis] = (synopsis.length > SYNOPSIS_MAX_TEXT ? "#{synopsis[0..SYNOPSIS_MAX_TEXT]}..." : synopsis)
|
||||
|
||||
result[:verdict_percentage], result[:user_percentage] = html_doc.css('.rtscores .rating .percentage span').map(&:content)
|
||||
result[:popcorn_image] = POPCORN_IMG
|
||||
if html_doc.at_css('.rtscores .rating .splat')
|
||||
result[:verdict_image] = ROTTEN_IMG
|
||||
elsif html_doc.at_css('.rtscores .rating .tomato')
|
||||
result[:verdict_image] = FRESH_IMG
|
||||
end
|
||||
|
||||
result[:cast] = html_doc.css('.summary .actors a').map(&:content).join(", ")
|
||||
|
||||
html_doc.css('#movieInfo .info').map(&:inner_html).each do |element|
|
||||
case
|
||||
when element.include?('Director:') then result[:director] = clean_up_info(element)
|
||||
when element.include?('Rated:') then result[:rated] = clean_up_info(element)
|
||||
when element.include?('Running Time:') then result[:running_time] = clean_up_info(element)
|
||||
when element.include?('DVD Release:')
|
||||
result[:release_date] = clean_up_info(element)
|
||||
result[:release_type] = 'DVD'
|
||||
# Only show the theater release date if there is no DVD release date
|
||||
when element.include?('Theater Release:') && !result[:release_type]
|
||||
result[:release_date] = clean_up_info(element)
|
||||
result[:release_type] = 'Theater'
|
||||
end
|
||||
end
|
||||
|
||||
result.delete_if { |k, v| v.blank? }
|
||||
end
|
||||
|
||||
def clean_up_info(inner_html)
|
||||
inner_html.squish.gsub(/^.*<\/span>\s*/, '')
|
||||
end
|
||||
|
||||
end
|
||||
end
|
25
lib/oneboxer/templates/rottentomatoes_onebox.hbrs
Normal file
25
lib/oneboxer/templates/rottentomatoes_onebox.hbrs
Normal file
|
@ -0,0 +1,25 @@
|
|||
<div class='onebox-result'>
|
||||
{{#host}}
|
||||
<div class='source'>
|
||||
<div class='info'>
|
||||
<a href='{{original_url}}' class="track-link" target="_blank">
|
||||
{{#favicon}}<img class='favicon' src="{{favicon}}"> {{/favicon}}{{host}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{/host}}
|
||||
<div class='onebox-result-body'>
|
||||
{{#poster}}<img src="{{poster}}" class="thumbnail">{{/poster}}
|
||||
<h3><a href="{{original_url}}" target="_blank">{{title}}</a></h3>
|
||||
|
||||
{{#verdict_image}}<img class="verdict" src={{verdict_image}}><b>{{verdict_percentage}}</b> of critics liked it.{{/verdict_image}}
|
||||
{{#user_percentage}}<img class="popcorn" src={{popcorn_image}}><b>{{user_percentage}}</b> of users liked it.<br />{{/user_percentage}}
|
||||
{{#cast}}<b>Cast:</b> {{cast}}<br />{{/cast}}
|
||||
{{#director}}<b>Director:</b> {{director}}<br />{{/director}}
|
||||
{{#release_type}}<b>{{release_type}} Release:</b> {{release_date}}<br />{{/release_type}}
|
||||
{{#running_time}}<b>Running Time:</b> {{running_time}}<br />{{/running_time}}
|
||||
{{#rated}}<b>Rated: </b> {{rated}}<br />{{/rated}}
|
||||
{{synopsis}}
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
</div>
|
|
@ -3,6 +3,7 @@ module Oneboxer
|
|||
module Whitelist
|
||||
def self.entries
|
||||
[
|
||||
Entry.new(/^https?:\/\/(?:www\.)?rottentomatoes\.com\/.+/),
|
||||
Entry.new(/^https?:\/\/(?:www\.)?cnn\.com\/.+/),
|
||||
Entry.new(/^https?:\/\/(?:www\.)?washingtonpost\.com\/.+/),
|
||||
Entry.new(/^https?:\/\/(?:www\.)?funnyordie\.com\/.+/),
|
||||
|
|
115
spec/components/oneboxer/rottentomatoes_onebox_spec.rb
Normal file
115
spec/components/oneboxer/rottentomatoes_onebox_spec.rb
Normal file
|
@ -0,0 +1,115 @@
|
|||
# encoding: utf-8
|
||||
|
||||
require 'spec_helper'
|
||||
require 'oneboxer'
|
||||
require 'oneboxer/rottentomatoes_onebox'
|
||||
|
||||
describe Oneboxer::RottentomatoesOnebox do
|
||||
it 'translates the URL' do
|
||||
o = Oneboxer::RottentomatoesOnebox.new('http://www.rottentomatoes.com/m/mud_2012/')
|
||||
expect(o.translate_url).to eq('http://rottentomatoes.com/mobile/m/mud_2012/')
|
||||
end
|
||||
|
||||
it 'generates the expected onebox for a fresh movie' do
|
||||
o = Oneboxer::RottentomatoesOnebox.new('http://www.rottentomatoes.com/m/mud_2012/')
|
||||
FakeWeb.register_uri(:get, o.translate_url, response: fixture_file('oneboxer/rottentomatoes_fresh.response'))
|
||||
expect(o.onebox).to eq(expected_fresh_result)
|
||||
end
|
||||
|
||||
it 'generates the expected onebox for a rotten movie' do
|
||||
o = Oneboxer::RottentomatoesOnebox.new('http://www.rottentomatoes.com/m/the_big_wedding_2013/')
|
||||
FakeWeb.register_uri(:get, o.translate_url, response: fixture_file('oneboxer/rottentomatoes_rotten.response'))
|
||||
expect(o.onebox).to eq(expected_rotten_result)
|
||||
end
|
||||
|
||||
it 'generates the expected onebox for a movie with an incomplete description' do
|
||||
o = Oneboxer::RottentomatoesOnebox.new('http://www.rottentomatoes.com/m/gunde_jaari_gallanthayyinde/')
|
||||
FakeWeb.register_uri(:get, o.translate_url, response: fixture_file('oneboxer/rottentomatoes_incomplete.response'))
|
||||
expect(o.onebox).to eq(expected_incomplete_result)
|
||||
end
|
||||
|
||||
private
|
||||
def expected_fresh_result
|
||||
<<EXPECTED
|
||||
<div class='onebox-result'>
|
||||
<div class='source'>
|
||||
<div class='info'>
|
||||
<a href='http://www.rottentomatoes.com/m/mud_2012/' class="track-link" target="_blank">
|
||||
<img class='favicon' src="/assets/favicons/rottentomatoes.png"> rottentomatoes.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='onebox-result-body'>
|
||||
<img src="http://content7.flixster.com/movie/11/16/93/11169361_pro.jpg" class="thumbnail">
|
||||
<h3><a href="http://www.rottentomatoes.com/m/mud_2012/" target="_blank">Mud</a></h3>
|
||||
|
||||
<img class="verdict" src=http://images.rottentomatoescdn.com/images/icons/rt.fresh.med.png><b>98%</b> of critics liked it.
|
||||
<img class="popcorn" src=http://images.rottentomatoescdn.com/images/icons/popcorn_27x31.png><b>85%</b> of users liked it.<br />
|
||||
<b>Cast:</b> Matthew McConaughey, Reese Witherspoon<br />
|
||||
<b>Director:</b> Jeff Nichols<br />
|
||||
<b>Theater Release:</b> Apr 26, 2013<br />
|
||||
<b>Running Time:</b> 2 hr. 10 min.<br />
|
||||
<b>Rated: </b> PG-13<br />
|
||||
Mud is an adventure about two boys, Ellis and his friend Neckbone, who find a man named Mud hiding out on an island in the Mississippi. Mud describes fantastic scenarios-he killed a man in Texas and vengeful bounty hunters are coming to get him. He says he is planning to meet and escape with the love of his life, Juniper, who is waiting for him in town. Skeptical but i...
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
</div>
|
||||
EXPECTED
|
||||
end
|
||||
|
||||
def expected_rotten_result
|
||||
<<EXPECTED
|
||||
<div class='onebox-result'>
|
||||
<div class='source'>
|
||||
<div class='info'>
|
||||
<a href='http://www.rottentomatoes.com/m/the_big_wedding_2013/' class="track-link" target="_blank">
|
||||
<img class='favicon' src="/assets/favicons/rottentomatoes.png"> rottentomatoes.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='onebox-result-body'>
|
||||
<img src="http://content8.flixster.com/movie/11/16/87/11168754_pro.jpg" class="thumbnail">
|
||||
<h3><a href="http://www.rottentomatoes.com/m/the_big_wedding_2013/" target="_blank">The Big Wedding</a></h3>
|
||||
|
||||
<img class="verdict" src=http://images.rottentomatoescdn.com/images/icons/rt.rotten.med.png><b>6%</b> of critics liked it.
|
||||
<img class="popcorn" src=http://images.rottentomatoescdn.com/images/icons/popcorn_27x31.png><b>80%</b> of users liked it.<br />
|
||||
<b>Cast:</b> Robert De Niro, Diane Keaton<br />
|
||||
<b>Director:</b> Justin Zackham<br />
|
||||
<b>Theater Release:</b> Apr 26, 2013<br />
|
||||
<b>Running Time:</b> 1 hr. 29 min.<br />
|
||||
<b>Rated: </b> R<br />
|
||||
With an all-star cast led by Robert De Niro, Katherine Heigl, Diane Keaton, Amanda Seyfried, Topher Grace, with Susan Sarandon and Robin Williams, THE BIG WEDDING is an uproarious romantic comedy about a charmingly modern family trying to survive a weekend wedding celebration that has the potential to become a full blown family fiasco. To the amusement of their adult c...
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
</div>
|
||||
EXPECTED
|
||||
end
|
||||
|
||||
def expected_incomplete_result
|
||||
<<EXPECTED
|
||||
<div class='onebox-result'>
|
||||
<div class='source'>
|
||||
<div class='info'>
|
||||
<a href='http://www.rottentomatoes.com/m/gunde_jaari_gallanthayyinde/' class="track-link" target="_blank">
|
||||
<img class='favicon' src="/assets/favicons/rottentomatoes.png"> rottentomatoes.com
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='onebox-result-body'>
|
||||
<img src="http://images.rottentomatoescdn.com/images/redesign/poster_default.gif" class="thumbnail">
|
||||
<h3><a href="http://www.rottentomatoes.com/m/gunde_jaari_gallanthayyinde/" target="_blank">Gunde Jaari Gallanthayyinde</a></h3>
|
||||
|
||||
|
||||
|
||||
<b>Cast:</b> Nithin, Nithya Menon<br />
|
||||
<b>Director:</b> Vijay Kumar Konda<br />
|
||||
<b>Theater Release:</b> Apr 19, 2013<br />
|
||||
<b>Running Time:</b> 2 hr. 35 min.<br />
|
||||
<b>Rated: </b> Unrated<br />
|
||||
Software engineer Karthik thinks he is the smartest guy on the earth, but he turns out be the biggest fool at the end.
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
</div>
|
||||
EXPECTED
|
||||
end
|
||||
end
|
607
spec/fixtures/oneboxer/rottentomatoes_fresh.response
vendored
Normal file
607
spec/fixtures/oneboxer/rottentomatoes_fresh.response
vendored
Normal file
|
@ -0,0 +1,607 @@
|
|||
HTTP/1.0 200 OK
|
||||
Date: Sun, 28 Apr 2013 19:11:21 GMT
|
||||
Expires: Sat, 6 May 1995 12:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
||||
Pragma: no-cache
|
||||
Set-Cookie: ServerID=1332; Path=/
|
||||
Set-Cookie: JSESSIONID=9BE14DA3E8864346F04FF28AF6888AF2.localhost; Path=/
|
||||
Content-Type: text/html;charset=ISO-8859-1
|
||||
Content-Language: en-US
|
||||
Vary: User-Agent,Accept-Encoding
|
||||
Connection: close
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<head>
|
||||
<title>RottenTomatoes Mobile</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="//images.rottentomatoescdn.com/styles/mobile/mobile.css?v=prod20130426a" type="text/css"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/files/inc_beta/rt.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/jquery-1.6.1.min.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type='text/javascript'>
|
||||
(function() {
|
||||
var useSSL = 'https:' == document.location.protocol;
|
||||
var src = (useSSL ? 'https:' : 'http:') +
|
||||
'//www.googletagservices.com/tag/js/gpt_mobile.js';
|
||||
document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-2265251-1']);
|
||||
//_gaq.push(['_setDomainName', 'www.rottentomatoes.com']);
|
||||
|
||||
|
||||
_gaq.push(['_setCustomVar', 2, 'Standalone Webapp', (window.navigator.standalone ? 'True' : 'False'), 1]);
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
function getCookie(c) {
|
||||
var d = document.cookie.indexOf(c + "=");
|
||||
var a = d + c.length + 1;
|
||||
if ((!d) && (c != document.cookie.substring(0, c.length))) {
|
||||
return null
|
||||
}
|
||||
if (d == -1) {
|
||||
return null
|
||||
}
|
||||
var b = document.cookie.indexOf(";", a);
|
||||
if (b == -1) {
|
||||
b = document.cookie.length
|
||||
}
|
||||
return unescape(document.cookie.substring(a, b))
|
||||
}
|
||||
var qcsegments = getCookie("qcs");
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/plugins/jquery.rt_showMoreLink.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
<style>
|
||||
.greenBackground {
|
||||
background-color: #3D8404;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="fb-root"></div>
|
||||
<script>
|
||||
var fb_connected=$.Deferred();
|
||||
|
||||
(function() {
|
||||
var e = document.createElement('script'); e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '326803741017',
|
||||
status: true,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
channelUrl : '//http://www.rottentomatoes.com/facebook/channel.html' // Channel File for x-domain communication
|
||||
});
|
||||
|
||||
FB.Event.subscribe("auth.authResponseChange", handleResponseChange);
|
||||
};
|
||||
|
||||
function handleResponseChange(response) {
|
||||
fb_connected.resolve();
|
||||
_gaq.push(['_trackEvent', "RT Mobile", "Facebook IP", response.status]);
|
||||
}
|
||||
</script>
|
||||
|
||||
<gpt:mobile />
|
||||
|
||||
|
||||
<div id="mobile_header">
|
||||
<div id="topBar">
|
||||
<a href="http://www.rottentomatoes.com/mobile/">
|
||||
<img id="logo" src="http://images.rottentomatoescdn.com/images/mobile/header-logo.png?v=20130214" width="96px" />
|
||||
</a>
|
||||
|
||||
<div id="searchBar">
|
||||
|
||||
|
||||
<form id="searchForm" method="get" action="/mobile/search/">
|
||||
<input type="text" id="queryinput" name="q" value="Search Movies, Actors..." onclick="this.value='';"/>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="navBar">
|
||||
<a href="/mobile/" id="boxoffice" class="tab ">
|
||||
<span>Box Office</span>
|
||||
</a>
|
||||
<a href="/mobile/showtimes/" id="theaters" class="tab ">
|
||||
<span>Theaters</span>
|
||||
</a>
|
||||
<a href="/mobile/upcoming/" id="upcoming" class="tab ">
|
||||
<span>Upcoming</span>
|
||||
</a>
|
||||
<a href="/mobile/dvd/?subnav=new_releases" id="dvd" class="tab ">
|
||||
<span>DVD</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="movie" class="pageBody">
|
||||
<div class="basics media">
|
||||
<h1>Mud</h1>
|
||||
<div class="poster img">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="http://content7.flixster.com/movie/11/16/93/11169361_pro.jpg" width="120" height="171" alt="" title="" />
|
||||
</div>
|
||||
<div class="bd">
|
||||
<div class="rtscores">
|
||||
|
||||
|
||||
<div class="rating media">
|
||||
<i class="tomato img"></i>
|
||||
<div class="bd">
|
||||
<p class="percentage"><span class="bold">98%</span> of critics liked it</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rating media">
|
||||
<i class="popcorn img"></i>
|
||||
<div class="bd">
|
||||
<p class="percentage"><span class="bold">85%</span> of users liked it</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="summary">
|
||||
<div class="actors">
|
||||
<a href="/mobile/celebrity/matthew_mcconaughey/" class="" >Matthew McConaughey</a>,
|
||||
<a href="/mobile/celebrity/reese_witherspoon/" class="" >Reese Witherspoon</a></div>
|
||||
<div class="release">In theaters Apr 26, 2013</div>
|
||||
<div class="meta">PG-13, 2 hr. 10 min.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="http://www.videodetective.net/player.aspx?PublishedId=349126&CustomerId=300120&e=1367349082003&cmd=6&fmt=4&VideoKbrate=212&h=17705e81b7e49f2d02b141570861098f" class="trailerbutton" onclick="Tracker.trackPageview('trailer'); Tracker.trackEvent('trailer', 'HiRes');"></a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail clearfix">
|
||||
|
||||
|
||||
<div id="showtimes" class="detailSection">
|
||||
<h2>Showtimes</h2>
|
||||
<form method="get" class="info" action="/mobile/movies-showtimes/mud_2012">
|
||||
Get Showtimes: <input id="postalCodeInput" class="text" type="text" name="postal" value="" />
|
||||
|
||||
<select name="date" <flixster:attributes attributes="{name=date, class=dropdown}"/>>
|
||||
|
||||
<option value="20130428" >Today, 4/28</option>
|
||||
|
||||
|
||||
|
||||
|
||||
<option value="20130429" >Monday, 4/29</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130430" >Tuesday, 4/30</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130501" >Wednesday, 5/1</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130502" >Thursday, 5/2</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130503" >Friday, 5/3</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130504" >Saturday, 5/4</option>
|
||||
|
||||
</select>
|
||||
<input class="button" type="submit" name="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="movieInfo" class="detailSection">
|
||||
<h2>Movie Info</h2>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Cast:</span>
|
||||
<a href="/mobile/celebrity/matthew_mcconaughey/" class="" >Matthew McConaughey</a>,
|
||||
<a href="/mobile/celebrity/reese_witherspoon/" class="" >Reese Witherspoon</a>,
|
||||
<a href="/mobile/celebrity/tye_sheridan/" class="" >Tye Sheridan</a>,
|
||||
<a href="/mobile/celebrity/jacob_lofland/" class="" >Jacob Lofland</a>,
|
||||
<a href="/mobile/celebrity/michael_shannon/" class="" >Michael Shannon</a>,
|
||||
<a href="/mobile/celebrity/sam_shepard/" class="" >Sam Shepard</a>,
|
||||
<a href="/mobile/celebrity/sarah_paulson/" class="" >Sarah Paulson</a>,
|
||||
<a href="/mobile/celebrity/ray_mckinnon/" class="" >Ray McKinnon</a>
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Director:</span> Jeff Nichols
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Rated:</span> PG-13
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Running Time:</span> 2 hr. 10 min.
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Genre:</span> Drama
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Theater Release:</span> Apr 26, 2013
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Synopsis:</span>
|
||||
<span id="movieSynopsis">Mud is an adventure about two boys, Ellis and his friend Neckbone, who find a man named Mud hiding out on an island in the Mississippi. Mud describes fantastic scenarios-he killed a man in Texas and vengeful bounty hunters are coming to get him. He says he is planning to meet and escape with the love of his life, Juniper, who is waiting for him in town. Skeptical but intrigued, Ellis and Neckbone agree to help him. It isn't long until Mud's visions come true and their small town is besieged by a
|
||||
|
||||
<span id="movieSynopsisRemaining" style="display:none;"> beautiful girl with a line of bounty hunters in tow. (c) Roadside Attractions</span>
|
||||
<a href="javascript:void(0);" id="showMoreSynopsis" onmousedown="_gaq.push(['_trackEvent', 'RT Mobile', 'MOB Page', 'Show More']);"></a>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#movieSynopsis').rt_showMoreLink({moreText:'... More', lessText:'', moreItemsSelector:'#movieSynopsisRemaining', moreLinkSelector:'#showMoreSynopsis'});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ratings" class="detailSection">
|
||||
<h2>Critic Reviews</h2>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Stephen Whitty, Newark Star-Ledger</div>
|
||||
"Mud" isn't just a movie. It's the firm confirmation of a career.
|
||||
<a href="http://www.nj.com/entertainment/index.ssf/2013/04/mud_review_matthew_mcconaughey.html?utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Adam Graham, Detroit News</div>
|
||||
"Mud" unfolds at its own pace, revealing its story in slivers. The performances are outstanding, especially from Sheridan, who plays tough, sweet, vulnerable and confused with equal conviction.
|
||||
<a href="http://www.detroitnews.com/article/20130426/ENT02/304260319/1034/ENT02/Review-Deft-Mud-shines-coming-age-tale" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Ann Hornaday, Washington Post</div>
|
||||
The film is drenched in the humidity and salty air of a Delta summer, often recalling the musical, aphoristic cadences of Sam Shepard, who happens to appear in a supporting role.
|
||||
<a href="http://www.washingtonpost.com/gog/movies/mud,1247684/critic-review.html" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Lou Lumenick, New York Post</div>
|
||||
A wonderful, piquant modern-day variation on "Huckleberry Finn.''
|
||||
<a href="http://www.nypost.com/p/entertainment/movies/mud_slings_triumph_nETry33K6iVxeW2DicDu1M?utm_medium=rss&utm_content=Movies&utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Betsy Sharkey, Los Angeles Times</div>
|
||||
One of the most creatively rich and emotionally rewarding movies to come along this year.
|
||||
<a href="http://www.latimes.com/entertainment/movies/moviesnow/la-et-mud-20130426,0,131208.story" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Joe Morgenstern, Wall Street Journal</div>
|
||||
It's a movie that holds out hope for the movies' future.
|
||||
<a href="http://online.wsj.com/article/SB10001424127887323335404578443672443307786.html" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">A.O. Scott, New York Times</div>
|
||||
Mr. Nichols's voice is a distinctive and welcome presence in American film.
|
||||
<a href="http://movies.nytimes.com/2013/04/26/movies/mud-stars-matthew-mcconaughey-and-reese-witherspoon.html?partner=rss&emc=rss&utm_source=feedly&_r=0" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">John Anderson, Newsday</div>
|
||||
Nichols' wild narrative tributaries all eventually intersect, and at no time does he let one's attention stall.
|
||||
<a href="http://www.newsday.com/entertainment/movies/mud-review-on-the-run-a-boy-s-adventure-1.5133681?utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Peter Travers, Rolling Stone</div>
|
||||
What you do need to know is that the acting is top-tier all the way. McConaughey, on a career roll, is magnificent.
|
||||
<a href="http://www.rollingstone.com/movies/reviews/mud-20130425" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Alonso Duralde, The Wrap</div>
|
||||
Nichols lovingly sketches his characters and their world; he takes his time doing so, but it's a pleasure to watch the small interactions and the humid reality of secret coves and Piggly Wiggly supermarkets and seedy hotels.
|
||||
<a href="http://www.thewrap.com/movies/column-post/mud-review-lovely-coming-age-tale-zigs-where-zagging-would-suffice-87841" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
div#fbLikePopup {
|
||||
z-index: 9998;
|
||||
position: fixed;
|
||||
width: 320px;
|
||||
height: 100px;
|
||||
/*height:200px;*/
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
bottom: 0px;
|
||||
left: 50%;
|
||||
margin-left: -160px;
|
||||
}
|
||||
#fbLikePopup .instructions {
|
||||
width: 150px;
|
||||
color: white;
|
||||
font-size: 13px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/icons/tomatolike.png') no-repeat 10px 0px;
|
||||
height: 60px;
|
||||
padding-left: 65px;
|
||||
font-weight: bold;
|
||||
margin-top:35px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#fbLikePopup .close {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/chrome/close.png') no-repeat center;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
margin-left: -10px;
|
||||
margin-top: -23px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
#fbLikePopup .fb-like {
|
||||
margin:40px 0px;
|
||||
width: 100px;
|
||||
float:right;
|
||||
overflow:hidden;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="fbLikePopup" style="display:none;"><div class="close"></div><div class="fb-like" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-href="http://www.rottentomatoes.com"></div><div class="instructions">Like Rotten Tomatoes on Facebook!</div></div>
|
||||
<script>
|
||||
fb_connected.done(function(){
|
||||
$("#fbLikePopup").show();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Shown']);
|
||||
|
||||
$("#fbLikePopup .close").click(function(){
|
||||
$("#fbLikePopup").hide();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Dismissed']);
|
||||
});
|
||||
|
||||
FB.Event.subscribe('edge.create', function(href, widget) {
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Like Clicked']);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="footer">
|
||||
<div id="grass"></div>
|
||||
<div id="footer_text">
|
||||
|
||||
|
||||
<a class="button" href="http://www.rottentomatoes.com/?fullsite=true">View Full Site</a>
|
||||
<a class="button" href="">Get Mobile App</a>
|
||||
|
||||
|
||||
<div>Copyright © Flixster, Inc. All rights reserved.</div>
|
||||
<div>
|
||||
<a href="http://www.rottentomatoes.com/terms">Terms of Service</a>
|
||||
<a href="http://www.rottentomatoes.com/privacy">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
_gaq.push(['_trackPageview', '/mobile/MOB']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
<!-- Begin comScore Tag -->
|
||||
if (typeof COMSCORE == "undefined") { var COMSCORE={}}COMSCORE.beacon=function(d){if(!d){return}var a=1.6,e=document,g=e.location,c=function(h){if(h==null){return""}return(encodeURIComponent||escape)(h)},f=[(g.protocol=="https:"?"https://sb":"http://b"),".scorecardresearch.com/b?","c1=",c(d.c1),"&c2=",c(d.c2),"&rn=",Math.random(),"&c7=",c(g.href),"&c3=",c(d.c3),"&c4=",c(d.c4),"&c5=",c(d.c5),"&c6=",c(d.c6),"&c15=",c(d.c15),"&c16=",c(d.c16),"&c8=",c(e.title),"&c9=",c(e.referrer),"&cv=",a].join("");f=f.length>1500?f.substr(0,1495)+"&ct=1":f;var b=new Image();b.onload=function(){};b.src=f;return f };
|
||||
COMSCORE.beacon({ c1:2, c2:"3000068", c3:"", c4:"http://www.rottentomatoes.com", c5:"", c6:"", c15:"" });
|
||||
<!-- End comScore Tag -->
|
||||
//]]-->
|
||||
</script>
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
if($('#postalCodeInput').val() == "" && navigator.geolocation) {
|
||||
navigator.geolocation.getCurrentPosition(function(position) {
|
||||
var coords = position.coords;
|
||||
|
||||
var url = "http://www.rottentomatoes.com/api/private/v1.0/zipcode/?latitude="+ coords.latitude +"&longitude="+ coords.longitude;
|
||||
|
||||
$.ajax({
|
||||
url: url
|
||||
}).done(function(response) {
|
||||
var responseJson = JSON.parse(response);
|
||||
if (responseJson[0] && responseJson[0].zipcode) {
|
||||
var zipcode = responseJson[0].zipcode;
|
||||
$('#postalCodeInput').val(zipcode);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
});
|
||||
</script>
|
462
spec/fixtures/oneboxer/rottentomatoes_incomplete.response
vendored
Normal file
462
spec/fixtures/oneboxer/rottentomatoes_incomplete.response
vendored
Normal file
|
@ -0,0 +1,462 @@
|
|||
HTTP/1.0 200 OK
|
||||
Date: Sun, 28 Apr 2013 18:19:31 GMT
|
||||
Expires: Sat, 6 May 1995 12:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
||||
Pragma: no-cache
|
||||
Set-Cookie: ServerID=1210; Path=/
|
||||
Set-Cookie: JSESSIONID=968C19E80C72CF48C6EE1927ADBD369E.localhost; Path=/
|
||||
Content-Type: text/html;charset=ISO-8859-1
|
||||
Content-Language: en-US
|
||||
Vary: User-Agent,Accept-Encoding
|
||||
Connection: close
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<head>
|
||||
<title>RottenTomatoes Mobile</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="//images.rottentomatoescdn.com/styles/mobile/mobile.css?v=prod20130426a" type="text/css"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/files/inc_beta/rt.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/jquery-1.6.1.min.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type='text/javascript'>
|
||||
(function() {
|
||||
var useSSL = 'https:' == document.location.protocol;
|
||||
var src = (useSSL ? 'https:' : 'http:') +
|
||||
'//www.googletagservices.com/tag/js/gpt_mobile.js';
|
||||
document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-2265251-1']);
|
||||
//_gaq.push(['_setDomainName', 'www.rottentomatoes.com']);
|
||||
|
||||
|
||||
_gaq.push(['_setCustomVar', 2, 'Standalone Webapp', (window.navigator.standalone ? 'True' : 'False'), 1]);
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
function getCookie(c) {
|
||||
var d = document.cookie.indexOf(c + "=");
|
||||
var a = d + c.length + 1;
|
||||
if ((!d) && (c != document.cookie.substring(0, c.length))) {
|
||||
return null
|
||||
}
|
||||
if (d == -1) {
|
||||
return null
|
||||
}
|
||||
var b = document.cookie.indexOf(";", a);
|
||||
if (b == -1) {
|
||||
b = document.cookie.length
|
||||
}
|
||||
return unescape(document.cookie.substring(a, b))
|
||||
}
|
||||
var qcsegments = getCookie("qcs");
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/plugins/jquery.rt_showMoreLink.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
<style>
|
||||
.greenBackground {
|
||||
background-color: #3D8404;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="fb-root"></div>
|
||||
<script>
|
||||
var fb_connected=$.Deferred();
|
||||
|
||||
(function() {
|
||||
var e = document.createElement('script'); e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '326803741017',
|
||||
status: true,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
channelUrl : '//http://www.rottentomatoes.com/facebook/channel.html' // Channel File for x-domain communication
|
||||
});
|
||||
|
||||
FB.Event.subscribe("auth.authResponseChange", handleResponseChange);
|
||||
};
|
||||
|
||||
function handleResponseChange(response) {
|
||||
fb_connected.resolve();
|
||||
_gaq.push(['_trackEvent', "RT Mobile", "Facebook IP", response.status]);
|
||||
}
|
||||
</script>
|
||||
|
||||
<gpt:mobile />
|
||||
|
||||
|
||||
<div id="mobile_header">
|
||||
<div id="topBar">
|
||||
<a href="http://www.rottentomatoes.com/mobile/">
|
||||
<img id="logo" src="http://images.rottentomatoescdn.com/images/mobile/header-logo.png?v=20130214" width="96px" />
|
||||
</a>
|
||||
|
||||
<div id="searchBar">
|
||||
|
||||
|
||||
<form id="searchForm" method="get" action="/mobile/search/">
|
||||
<input type="text" id="queryinput" name="q" value="Search Movies, Actors..." onclick="this.value='';"/>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="navBar">
|
||||
<a href="/mobile/" id="boxoffice" class="tab ">
|
||||
<span>Box Office</span>
|
||||
</a>
|
||||
<a href="/mobile/showtimes/" id="theaters" class="tab ">
|
||||
<span>Theaters</span>
|
||||
</a>
|
||||
<a href="/mobile/upcoming/" id="upcoming" class="tab ">
|
||||
<span>Upcoming</span>
|
||||
</a>
|
||||
<a href="/mobile/dvd/?subnav=new_releases" id="dvd" class="tab ">
|
||||
<span>DVD</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="movie" class="pageBody">
|
||||
<div class="basics media">
|
||||
<h1>Gunde Jaari Gallanthayyinde</h1>
|
||||
<div class="poster img">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="http://images.rottentomatoescdn.com/images/redesign/poster_default.gif" width="120" height="180" alt="" title="" />
|
||||
</div>
|
||||
<div class="bd">
|
||||
<div class="rtscores">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="summary">
|
||||
<div class="actors">
|
||||
<a href="/mobile/celebrity/nithin/" class="" >Nithin</a>,
|
||||
<a href="/mobile/celebrity/nithya_menon/" class="" >Nithya Menon</a></div>
|
||||
<div class="release">In theaters Apr 19, 2013</div>
|
||||
<div class="meta">Unrated, 2 hr. 35 min.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail clearfix">
|
||||
|
||||
|
||||
<div id="showtimes" class="detailSection">
|
||||
<h2>Showtimes</h2>
|
||||
<form method="get" class="info" action="/mobile/movies-showtimes/gunde_jaari_gallanthayyinde">
|
||||
Get Showtimes: <input id="postalCodeInput" class="text" type="text" name="postal" value="" />
|
||||
|
||||
<select name="date" <flixster:attributes attributes="{name=date, class=dropdown}"/>>
|
||||
|
||||
<option value="20130428" >Today, 4/28</option>
|
||||
|
||||
|
||||
|
||||
|
||||
<option value="20130429" >Monday, 4/29</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130430" >Tuesday, 4/30</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130501" >Wednesday, 5/1</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130502" >Thursday, 5/2</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130503" >Friday, 5/3</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130504" >Saturday, 5/4</option>
|
||||
|
||||
</select>
|
||||
<input class="button" type="submit" name="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="movieInfo" class="detailSection">
|
||||
<h2>Movie Info</h2>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Cast:</span>
|
||||
<a href="/mobile/celebrity/nithin/" class="" >Nithin</a>,
|
||||
<a href="/mobile/celebrity/nithya_menon/" class="" >Nithya Menon</a>,
|
||||
<a href="/mobile/celebrity/jwala_gutta/" class="" >Jwala Gutta</a>
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Director:</span> Vijay Kumar Konda
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Rated:</span> Unrated
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Running Time:</span> 2 hr. 35 min.
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Genre:</span> Special Interest, Romance
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Theater Release:</span> Apr 19, 2013
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Synopsis:</span>
|
||||
<span id="movieSynopsis">Software engineer Karthik thinks he is the smartest guy on the earth, but he turns out be the biggest fool at the end.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ratings" class="detailSection">
|
||||
<h2>Critic Reviews</h2>
|
||||
|
||||
|
||||
<p class="empty">No recent ratings.</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
div#fbLikePopup {
|
||||
z-index: 9998;
|
||||
position: fixed;
|
||||
width: 320px;
|
||||
height: 100px;
|
||||
/*height:200px;*/
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
bottom: 0px;
|
||||
left: 50%;
|
||||
margin-left: -160px;
|
||||
}
|
||||
#fbLikePopup .instructions {
|
||||
width: 150px;
|
||||
color: white;
|
||||
font-size: 13px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/icons/tomatolike.png') no-repeat 10px 0px;
|
||||
height: 60px;
|
||||
padding-left: 65px;
|
||||
font-weight: bold;
|
||||
margin-top:35px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#fbLikePopup .close {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/chrome/close.png') no-repeat center;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
margin-left: -10px;
|
||||
margin-top: -23px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
#fbLikePopup .fb-like {
|
||||
margin:40px 0px;
|
||||
width: 100px;
|
||||
float:right;
|
||||
overflow:hidden;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="fbLikePopup" style="display:none;"><div class="close"></div><div class="fb-like" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-href="http://www.rottentomatoes.com"></div><div class="instructions">Like Rotten Tomatoes on Facebook!</div></div>
|
||||
<script>
|
||||
fb_connected.done(function(){
|
||||
$("#fbLikePopup").show();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Shown']);
|
||||
|
||||
$("#fbLikePopup .close").click(function(){
|
||||
$("#fbLikePopup").hide();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Dismissed']);
|
||||
});
|
||||
|
||||
FB.Event.subscribe('edge.create', function(href, widget) {
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Like Clicked']);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="footer">
|
||||
<div id="grass"></div>
|
||||
<div id="footer_text">
|
||||
|
||||
|
||||
<a class="button" href="http://www.rottentomatoes.com/?fullsite=true">View Full Site</a>
|
||||
<a class="button" href="">Get Mobile App</a>
|
||||
|
||||
|
||||
<div>Copyright © Flixster, Inc. All rights reserved.</div>
|
||||
<div>
|
||||
<a href="http://www.rottentomatoes.com/terms">Terms of Service</a>
|
||||
<a href="http://www.rottentomatoes.com/privacy">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
_gaq.push(['_trackPageview', '/mobile/MOB']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
<!-- Begin comScore Tag -->
|
||||
if (typeof COMSCORE == "undefined") { var COMSCORE={}}COMSCORE.beacon=function(d){if(!d){return}var a=1.6,e=document,g=e.location,c=function(h){if(h==null){return""}return(encodeURIComponent||escape)(h)},f=[(g.protocol=="https:"?"https://sb":"http://b"),".scorecardresearch.com/b?","c1=",c(d.c1),"&c2=",c(d.c2),"&rn=",Math.random(),"&c7=",c(g.href),"&c3=",c(d.c3),"&c4=",c(d.c4),"&c5=",c(d.c5),"&c6=",c(d.c6),"&c15=",c(d.c15),"&c16=",c(d.c16),"&c8=",c(e.title),"&c9=",c(e.referrer),"&cv=",a].join("");f=f.length>1500?f.substr(0,1495)+"&ct=1":f;var b=new Image();b.onload=function(){};b.src=f;return f };
|
||||
COMSCORE.beacon({ c1:2, c2:"3000068", c3:"", c4:"http://www.rottentomatoes.com", c5:"", c6:"", c15:"" });
|
||||
<!-- End comScore Tag -->
|
||||
//]]-->
|
||||
</script>
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
if($('#postalCodeInput').val() == "" && navigator.geolocation) {
|
||||
navigator.geolocation.getCurrentPosition(function(position) {
|
||||
var coords = position.coords;
|
||||
|
||||
var url = "http://www.rottentomatoes.com/api/private/v1.0/zipcode/?latitude="+ coords.latitude +"&longitude="+ coords.longitude;
|
||||
|
||||
$.ajax({
|
||||
url: url
|
||||
}).done(function(response) {
|
||||
var responseJson = JSON.parse(response);
|
||||
if (responseJson[0] && responseJson[0].zipcode) {
|
||||
var zipcode = responseJson[0].zipcode;
|
||||
$('#postalCodeInput').val(zipcode);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
});
|
||||
</script>
|
609
spec/fixtures/oneboxer/rottentomatoes_rotten.response
vendored
Normal file
609
spec/fixtures/oneboxer/rottentomatoes_rotten.response
vendored
Normal file
|
@ -0,0 +1,609 @@
|
|||
HTTP/1.0 200 OK
|
||||
Date: Sun, 28 Apr 2013 18:17:44 GMT
|
||||
Expires: Sat, 6 May 1995 12:00:00 GMT
|
||||
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
||||
Pragma: no-cache
|
||||
Set-Cookie: ServerID=1231; Path=/
|
||||
Set-Cookie: JSESSIONID=F1555163A809558BB2A3A9EE3408FEF6.localhost; Path=/
|
||||
Content-Type: text/html;charset=ISO-8859-1
|
||||
Content-Language: en-US
|
||||
Vary: User-Agent,Accept-Encoding
|
||||
Connection: close
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<head>
|
||||
<title>RottenTomatoes Mobile</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="//images.rottentomatoescdn.com/styles/mobile/mobile.css?v=prod20130426a" type="text/css"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/files/inc_beta/rt.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/jquery-1.6.1.min.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type='text/javascript'>
|
||||
(function() {
|
||||
var useSSL = 'https:' == document.location.protocol;
|
||||
var src = (useSSL ? 'https:' : 'http:') +
|
||||
'//www.googletagservices.com/tag/js/gpt_mobile.js';
|
||||
document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-2265251-1']);
|
||||
//_gaq.push(['_setDomainName', 'www.rottentomatoes.com']);
|
||||
|
||||
|
||||
_gaq.push(['_setCustomVar', 2, 'Standalone Webapp', (window.navigator.standalone ? 'True' : 'False'), 1]);
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
function getCookie(c) {
|
||||
var d = document.cookie.indexOf(c + "=");
|
||||
var a = d + c.length + 1;
|
||||
if ((!d) && (c != document.cookie.substring(0, c.length))) {
|
||||
return null
|
||||
}
|
||||
if (d == -1) {
|
||||
return null
|
||||
}
|
||||
var b = document.cookie.indexOf(";", a);
|
||||
if (b == -1) {
|
||||
b = document.cookie.length
|
||||
}
|
||||
return unescape(document.cookie.substring(a, b))
|
||||
}
|
||||
var qcsegments = getCookie("qcs");
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="//images.rottentomatoescdn.com/js/jquery/plugins/jquery.rt_showMoreLink.js" ></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
<style>
|
||||
.greenBackground {
|
||||
background-color: #3D8404;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="fb-root"></div>
|
||||
<script>
|
||||
var fb_connected=$.Deferred();
|
||||
|
||||
(function() {
|
||||
var e = document.createElement('script'); e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '326803741017',
|
||||
status: true,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
channelUrl : '//http://www.rottentomatoes.com/facebook/channel.html' // Channel File for x-domain communication
|
||||
});
|
||||
|
||||
FB.Event.subscribe("auth.authResponseChange", handleResponseChange);
|
||||
};
|
||||
|
||||
function handleResponseChange(response) {
|
||||
fb_connected.resolve();
|
||||
_gaq.push(['_trackEvent', "RT Mobile", "Facebook IP", response.status]);
|
||||
}
|
||||
</script>
|
||||
|
||||
<gpt:mobile />
|
||||
|
||||
|
||||
<div id="mobile_header">
|
||||
<div id="topBar">
|
||||
<a href="http://www.rottentomatoes.com/mobile/">
|
||||
<img id="logo" src="http://images.rottentomatoescdn.com/images/mobile/header-logo.png?v=20130214" width="96px" />
|
||||
</a>
|
||||
|
||||
<div id="searchBar">
|
||||
|
||||
|
||||
<form id="searchForm" method="get" action="/mobile/search/">
|
||||
<input type="text" id="queryinput" name="q" value="Search Movies, Actors..." onclick="this.value='';"/>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="navBar">
|
||||
<a href="/mobile/" id="boxoffice" class="tab ">
|
||||
<span>Box Office</span>
|
||||
</a>
|
||||
<a href="/mobile/showtimes/" id="theaters" class="tab ">
|
||||
<span>Theaters</span>
|
||||
</a>
|
||||
<a href="/mobile/upcoming/" id="upcoming" class="tab ">
|
||||
<span>Upcoming</span>
|
||||
</a>
|
||||
<a href="/mobile/dvd/?subnav=new_releases" id="dvd" class="tab ">
|
||||
<span>DVD</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="movie" class="pageBody">
|
||||
<div class="basics media">
|
||||
<h1>The Big Wedding</h1>
|
||||
<div class="poster img">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="http://content8.flixster.com/movie/11/16/87/11168754_pro.jpg" width="120" height="178" alt="" title="" />
|
||||
</div>
|
||||
<div class="bd">
|
||||
<div class="rtscores">
|
||||
|
||||
|
||||
<div class="rating media">
|
||||
<i class="splat img"></i>
|
||||
<div class="bd">
|
||||
<p class="percentage"><span class="bold">6%</span> of critics liked it</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rating media">
|
||||
<i class="popcorn img"></i>
|
||||
<div class="bd">
|
||||
<p class="percentage"><span class="bold">80%</span> of users liked it</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="summary">
|
||||
<div class="actors">
|
||||
<a href="/mobile/celebrity/robert_de_niro/" class="" >Robert De Niro</a>,
|
||||
<a href="/mobile/celebrity/diane_keaton/" class="" >Diane Keaton</a></div>
|
||||
<div class="release">In theaters Apr 26, 2013</div>
|
||||
<div class="meta">R, 1 hr. 29 min.</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="http://www.videodetective.net/player.aspx?PublishedId=619956&CustomerId=300120&e=1367345864662&cmd=6&fmt=4&VideoKbrate=212&h=7db6d00a4bb156811b521abc195ab10b" class="trailerbutton" onclick="Tracker.trackPageview('trailer'); Tracker.trackEvent('trailer', 'HiRes');"></a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail clearfix">
|
||||
|
||||
|
||||
<div id="showtimes" class="detailSection">
|
||||
<h2>Showtimes</h2>
|
||||
<form method="get" class="info" action="/mobile/movies-showtimes/the_big_wedding_2013">
|
||||
Get Showtimes: <input id="postalCodeInput" class="text" type="text" name="postal" value="" />
|
||||
|
||||
<select name="date" <flixster:attributes attributes="{name=date, class=dropdown}"/>>
|
||||
|
||||
<option value="20130428" >Today, 4/28</option>
|
||||
|
||||
|
||||
|
||||
|
||||
<option value="20130429" >Monday, 4/29</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130430" >Tuesday, 4/30</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130501" >Wednesday, 5/1</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130502" >Thursday, 5/2</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130503" >Friday, 5/3</option>
|
||||
|
||||
|
||||
|
||||
<option value="20130504" >Saturday, 5/4</option>
|
||||
|
||||
</select>
|
||||
<input class="button" type="submit" name="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="movieInfo" class="detailSection">
|
||||
<h2>Movie Info</h2>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Cast:</span>
|
||||
<a href="/mobile/celebrity/robert_de_niro/" class="" >Robert De Niro</a>,
|
||||
<a href="/mobile/celebrity/diane_keaton/" class="" >Diane Keaton</a>,
|
||||
<a href="/mobile/celebrity/susan_sarandon/" class="" >Susan Sarandon</a>,
|
||||
<a href="/mobile/celebrity/katherine_heigl/" class="" >Katherine Heigl</a>,
|
||||
<a href="/mobile/celebrity/amanda_seyfried/" class="" >Amanda Seyfried</a>,
|
||||
<a href="/mobile/celebrity/robin_williams/" class="" >Robin Williams</a>,
|
||||
<a href="/mobile/celebrity/ben_barnes/" class="" >Ben Barnes</a>,
|
||||
<a href="/mobile/celebrity/topher_grace/" class="" >Topher Grace</a>,
|
||||
<a href="/mobile/celebrity/christine_ebersole/" class="" >Christine Ebersole</a>,
|
||||
<a href="/mobile/celebrity/david_rasche/" class="" >David Rasche</a>
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Director:</span> Justin Zackham
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Rated:</span> R
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Running Time:</span> 1 hr. 29 min.
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Genre:</span> Comedy
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Theater Release:</span> Apr 26, 2013
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info">
|
||||
<span class="label">Synopsis:</span>
|
||||
<span id="movieSynopsis">With an all-star cast led by Robert De Niro, Katherine Heigl, Diane Keaton, Amanda Seyfried, Topher Grace, with Susan Sarandon and Robin Williams, THE BIG WEDDING is an uproarious romantic comedy about a charmingly modern family trying to survive a weekend wedding celebration that has the potential to become a full blown family fiasco. To the amusement of their adult children and friends, long divorced couple Don and Ellie Griffin (De Niro and Keaton) are once again forced to play the happy
|
||||
|
||||
<span id="movieSynopsisRemaining" style="display:none;"> couple for the sake of their adopted son's wedding after his ultra conservative biological mother unexpectedly decides to fly halfway across the world to attend. With all of the wedding guests looking on, the Griffins are hilariously forced to confront their past, present and future - and hopefully avoid killing each other in the process. Screenplay by Justin Zackham. Directed by Justin Zackham. (c) Lionsgate</span>
|
||||
<a href="javascript:void(0);" id="showMoreSynopsis" onmousedown="_gaq.push(['_trackEvent', 'RT Mobile', 'MOB Page', 'Show More']);"></a>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$('#movieSynopsis').rt_showMoreLink({moreText:'... More', lessText:'', moreItemsSelector:'#movieSynopsisRemaining', moreLinkSelector:'#showMoreSynopsis'});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ratings" class="detailSection">
|
||||
<h2>Critic Reviews</h2>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">James Berardinelli, ReelViews</div>
|
||||
It's tired and dated with too few laughs to justify the stultifying attempts at drama and the impossible-to-swallow plot contortions.
|
||||
<a href="http://www.reelviews.net/php_review_template.php?identifier=2614&utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Richard Roeper, Richard Roeper.com</div>
|
||||
Looks great, some terrific ingredients, but when you slice it up, what a disappointment.
|
||||
<a href="http://www.richardroeper.com/reviews/thebigwedding.aspx" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="tomato img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Alonso Duralde, The Wrap</div>
|
||||
Sarandon, Keaton and De Niro mesh beautifully, fully convincing as a trio of old friends and carting in lots of characterization that would be otherwise lacking in Zackham's rote screenplay.
|
||||
<a href="http://www.thewrap.com/movies/column-post/big-wedding-review-ho-hum-ceremony-lively-all-star-guest-list-88036" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Rene Rodriguez, Miami Herald</div>
|
||||
The Big Wedding is a would-be screwball comedy that forgets to throw in the screws.
|
||||
<a href="http://www.miami.com/039the-big-wedding039-r-article" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Calum Marsh, Village Voice</div>
|
||||
Many Hollywood films are founded on privilege, but few are as open and nasty about their racism, misogyny, and homophobia. It's a feel-good movie for people who only comfortable around people who look and act just like them.
|
||||
<a href="http://www.villagevoice.com/2013-04-24/film/the-big-wedding-review/?utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Linda Barnard, Toronto Star</div>
|
||||
The Big Wedding aims low and achieves every aspiration.
|
||||
<a href="http://www.thestar.com/entertainment/movies/2013/04/26/the_big_wedding_a_huge_yawn_review.html?utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Stephen Whitty, Newark Star-Ledger</div>
|
||||
I suppose it's always nice to get an invitation but please, this "Wedding"? Send back your regrets.
|
||||
<a href="http://www.nj.com/entertainment/index.ssf/2013/04/the_big_wedding_review_borrowe.html?utm_source=feedly" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Rick Groen, Globe and Mail</div>
|
||||
A shining example of a dull studio comedy.
|
||||
<a href="http://www.theglobeandmail.com/arts/film/film-reviews/the-big-wedding-a-case-study-in-dull-filmmaking/article11553924/" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Adam Graham, Detroit News</div>
|
||||
It never feels real, and its only saving grace is that it clocks in at a mercifully short 90 minutes, which is just about the amount of time you need to realize you never want to see these characters ever again.
|
||||
<a href="http://www.detroitnews.com/article/20130426/ENT02/304260320/1034/ENT02/Review-Big-Wedding-toast-hate-bad-taste" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="critic media rating">
|
||||
<i class="splat img"></i>
|
||||
|
||||
<div class="bd">
|
||||
<div class="byline">Stephanie Merry, Washington Post</div>
|
||||
Sadly, superior talent can propel a movie only so far. Bad scripts beget bad movies, even when four Academy Award winners are involved.
|
||||
<a href="http://www.washingtonpost.com/gog/movies/the-big-wedding,1211743/critic-review.html" target="_blank">More...</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
div#fbLikePopup {
|
||||
z-index: 9998;
|
||||
position: fixed;
|
||||
width: 320px;
|
||||
height: 100px;
|
||||
/*height:200px;*/
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
bottom: 0px;
|
||||
left: 50%;
|
||||
margin-left: -160px;
|
||||
}
|
||||
#fbLikePopup .instructions {
|
||||
width: 150px;
|
||||
color: white;
|
||||
font-size: 13px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/icons/tomatolike.png') no-repeat 10px 0px;
|
||||
height: 60px;
|
||||
padding-left: 65px;
|
||||
font-weight: bold;
|
||||
margin-top:35px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#fbLikePopup .close {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background: transparent url('http://images.rottentomatoescdn.com/images/chrome/close.png') no-repeat center;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
margin-left: -10px;
|
||||
margin-top: -23px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
#fbLikePopup .fb-like {
|
||||
margin:40px 0px;
|
||||
width: 100px;
|
||||
float:right;
|
||||
overflow:hidden;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="fbLikePopup" style="display:none;"><div class="close"></div><div class="fb-like" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-href="http://www.rottentomatoes.com"></div><div class="instructions">Like Rotten Tomatoes on Facebook!</div></div>
|
||||
<script>
|
||||
fb_connected.done(function(){
|
||||
$("#fbLikePopup").show();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Shown']);
|
||||
|
||||
$("#fbLikePopup .close").click(function(){
|
||||
$("#fbLikePopup").hide();
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Dismissed']);
|
||||
});
|
||||
|
||||
FB.Event.subscribe('edge.create', function(href, widget) {
|
||||
_gaq.push(['_trackEvent', 'RT Mobile', 'Like Popup', 'Like Clicked']);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="footer">
|
||||
<div id="grass"></div>
|
||||
<div id="footer_text">
|
||||
|
||||
|
||||
<a class="button" href="http://www.rottentomatoes.com/?fullsite=true">View Full Site</a>
|
||||
<a class="button" href="">Get Mobile App</a>
|
||||
|
||||
|
||||
<div>Copyright © Flixster, Inc. All rights reserved.</div>
|
||||
<div>
|
||||
<a href="http://www.rottentomatoes.com/terms">Terms of Service</a>
|
||||
<a href="http://www.rottentomatoes.com/privacy">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
_gaq.push(['_trackPageview', '/mobile/MOB']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
<!-- Begin comScore Tag -->
|
||||
if (typeof COMSCORE == "undefined") { var COMSCORE={}}COMSCORE.beacon=function(d){if(!d){return}var a=1.6,e=document,g=e.location,c=function(h){if(h==null){return""}return(encodeURIComponent||escape)(h)},f=[(g.protocol=="https:"?"https://sb":"http://b"),".scorecardresearch.com/b?","c1=",c(d.c1),"&c2=",c(d.c2),"&rn=",Math.random(),"&c7=",c(g.href),"&c3=",c(d.c3),"&c4=",c(d.c4),"&c5=",c(d.c5),"&c6=",c(d.c6),"&c15=",c(d.c15),"&c16=",c(d.c16),"&c8=",c(e.title),"&c9=",c(e.referrer),"&cv=",a].join("");f=f.length>1500?f.substr(0,1495)+"&ct=1":f;var b=new Image();b.onload=function(){};b.src=f;return f };
|
||||
COMSCORE.beacon({ c1:2, c2:"3000068", c3:"", c4:"http://www.rottentomatoes.com", c5:"", c6:"", c15:"" });
|
||||
<!-- End comScore Tag -->
|
||||
//]]-->
|
||||
</script>
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
if($('#postalCodeInput').val() == "" && navigator.geolocation) {
|
||||
navigator.geolocation.getCurrentPosition(function(position) {
|
||||
var coords = position.coords;
|
||||
|
||||
var url = "http://www.rottentomatoes.com/api/private/v1.0/zipcode/?latitude="+ coords.latitude +"&longitude="+ coords.longitude;
|
||||
|
||||
$.ajax({
|
||||
url: url
|
||||
}).done(function(response) {
|
||||
var responseJson = JSON.parse(response);
|
||||
if (responseJson[0] && responseJson[0].zipcode) {
|
||||
var zipcode = responseJson[0].zipcode;
|
||||
$('#postalCodeInput').val(zipcode);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
});
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user