cineworld_uk 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/.travis.yml +4 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +59 -0
- data/Rakefile +15 -0
- data/cineworld_uk.gemspec +29 -0
- data/lib/cineworld_uk.rb +15 -0
- data/lib/cineworld_uk/cinema.rb +218 -0
- data/lib/cineworld_uk/film.rb +47 -0
- data/lib/cineworld_uk/internal/film_with_screenings_parser.rb +128 -0
- data/lib/cineworld_uk/screening.rb +33 -0
- data/lib/cineworld_uk/version.rb +6 -0
- data/test/fixtures/cinemas.html +420 -0
- data/test/fixtures/cinemas/brighton.html +8 -0
- data/test/fixtures/cinemas/bristol.html +1206 -0
- data/test/fixtures/cinemas/bury-st-edmunds.html +1211 -0
- data/test/fixtures/cinemas/chelsea.html +1030 -0
- data/test/fixtures/cinemas/the-o2-grenwich.html +1191 -0
- data/test/fixtures/whatson/brighton.html +7906 -0
- data/test/fixtures/whatson/brighton/autism-friendly-cloudy-2.html +79 -0
- data/test/fixtures/whatson/brighton/geethanjali-malayalam.html +71 -0
- data/test/fixtures/whatson/brighton/gravity.html +2129 -0
- data/test/fixtures/whatson/brighton/take-2-thursday-about-time.html +89 -0
- data/test/fixtures/whatson/glasgow-imax-at-gsc-cinema.html +3160 -0
- data/test/fixtures/whatson/glasgow-imax-at-gsc/the-hunger-games-catching-fire.html +498 -0
- data/test/fixtures/whatson/the-o2-greenwich.html +6854 -0
- data/test/fixtures/whatson/the-o2-greenwich/gravity.html +784 -0
- data/test/fixtures/whatson/wandsworth.html +13729 -0
- data/test/fixtures/whatson/wandsworth/arrambam-tamil.html +126 -0
- data/test/fixtures/whatson/wandsworth/bolshoi-ballet-live-lost-illusions.html +80 -0
- data/test/fixtures/whatson/wandsworth/frankenstein-nt-50th.html +82 -0
- data/test/fixtures/whatson/wandsworth/met-opera-falstaff.html +74 -0
- data/test/fixtures/whatson/wandsworth/nt-live-war-horse.html +80 -0
- data/test/fixtures/whatson/wandsworth/royal-ballet-live-the-sleeping-beauty.html +79 -0
- data/test/fixtures/whatson/wandsworth/royal-opera-live-parsifal-weird-date.html +79 -0
- data/test/fixtures/whatson/wandsworth/rsc-live-richard-ii-encore.html +80 -0
- data/test/fixtures/whatson/wandsworth/west-end-theatre-series-private-lives.html +80 -0
- data/test/lib/cineworld_uk/cinema_test.rb +466 -0
- data/test/lib/cineworld_uk/film_test.rb +95 -0
- data/test/lib/cineworld_uk/internal/film_with_screenings_parser_test.rb +200 -0
- data/test/lib/cineworld_uk/screening_test.rb +31 -0
- data/test/lib/cineworld_uk/version_test.rb +9 -0
- data/test/test_helper.rb +6 -0
- metadata +219 -0
@@ -0,0 +1,128 @@
|
|
1
|
+
module CineworldUk
|
2
|
+
|
3
|
+
# Internal utility classes: Do not use
|
4
|
+
# @api private
|
5
|
+
module Internal
|
6
|
+
|
7
|
+
# Parses a chunk of HTML to derive movie showing data
|
8
|
+
class FilmWithScreeningsParser
|
9
|
+
|
10
|
+
# @param [String] film_html a chunk of html
|
11
|
+
def initialize(film_html)
|
12
|
+
@nokogiri_html = Nokogiri::HTML(film_html)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The film name
|
16
|
+
# @return [String]
|
17
|
+
def film_name
|
18
|
+
name = @nokogiri_html.css('.span5 h1 a,.span7 h1 a, .span7 h1').children[0].to_s
|
19
|
+
|
20
|
+
# screening types
|
21
|
+
name = name.gsub 'Take 2 Thursday - ', '' # take 2 thursday
|
22
|
+
name = name.gsub 'Autism Friendly Screening: ', '' # remove autism friendly
|
23
|
+
|
24
|
+
# bollywood - remove language from film name
|
25
|
+
name = name.gsub ' (Malayalam)', ''
|
26
|
+
name = name.gsub ' (Tamil)', ''
|
27
|
+
|
28
|
+
# special screenings
|
29
|
+
name = name.gsub 'Bolshoi Ballet Live -', 'Bolshoi:' # bolshoi ballet
|
30
|
+
if name.match /\- NT .+ encore/
|
31
|
+
name = 'National Theatre: ' + name.gsub(/\- NT .+ encore/, '')
|
32
|
+
end
|
33
|
+
name = name.gsub 'MET Opera -', 'Met Opera:' # fill out Met Opera
|
34
|
+
name = name.gsub 'NT Live:', 'National Theatre:' # National theatre
|
35
|
+
name = name.gsub 'Royal Ballet Live:', 'Royal Ballet:' # Royal Ballet
|
36
|
+
|
37
|
+
# fill out Royal Opera House
|
38
|
+
if pure_name_match = name.match(/Royal Opera Live\: (.+) \-.+/)
|
39
|
+
name = 'Royal Opera House: ' + pure_name_match[1]
|
40
|
+
end
|
41
|
+
name = name.gsub 'Royal Opera Live:', 'Royal Opera House:'
|
42
|
+
|
43
|
+
name = name.gsub '(Encore Performance)', '' # remove rsc-style encore
|
44
|
+
name = name.gsub 'RSC Live:', 'Royal Shakespeare Company:' # globe
|
45
|
+
|
46
|
+
name = name.gsub /\- \d{1,2}\/\d{1,2}\/\d{2,4}/, '' # remove dates
|
47
|
+
name = name.gsub /\- \d{1,2}\/\d{1,2}\/\d{2,4}/, '' # remove dates
|
48
|
+
name = name.gsub /\n/, '' # remove newlines
|
49
|
+
name = name.gsub /\A\s+/, '' # remove leading spaces
|
50
|
+
name = name.gsub /\s+\z/, '' # remove trailing spaces
|
51
|
+
name = name.squeeze(' ') # spaces compressed
|
52
|
+
end
|
53
|
+
|
54
|
+
# Showings
|
55
|
+
# @return [Hash]
|
56
|
+
# @example
|
57
|
+
# {
|
58
|
+
# "2D" => [Time.utc, Time.utc]
|
59
|
+
# }
|
60
|
+
def showings
|
61
|
+
tz = TZInfo::Timezone.get('Europe/London')
|
62
|
+
@nokogiri_html.css('.schedule .performances > li').inject({}) do |result, li|
|
63
|
+
key = performance_varient(li)
|
64
|
+
|
65
|
+
if has_bookable_link_node?(li)
|
66
|
+
time_array = performance_date_array(li) + performance_time_array(li)
|
67
|
+
time = tz.local_to_utc(Time.utc(*time_array))
|
68
|
+
result.merge(key => (result[key] || []) << [time, booking_url(li)])
|
69
|
+
else
|
70
|
+
result
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
|
77
|
+
def booking_url(node)
|
78
|
+
'http://www.cineworld.co.uk' + performance_link(node)['href']
|
79
|
+
end
|
80
|
+
|
81
|
+
def dbox?(node)
|
82
|
+
node.css('.tooltip-box .icon-service-dbox').count > 0
|
83
|
+
end
|
84
|
+
|
85
|
+
def dimension(node)
|
86
|
+
node.css('.tooltip-box .icon-service-twod, .tooltip-box .icon-service-thrd').text
|
87
|
+
end
|
88
|
+
|
89
|
+
def has_bookable_link_node?(node)
|
90
|
+
performance_link(node) != nil
|
91
|
+
end
|
92
|
+
|
93
|
+
def imax?(node)
|
94
|
+
node.css('.tooltip-box .icon-service-imax').count > 0
|
95
|
+
end
|
96
|
+
|
97
|
+
def performance_date_array(node)
|
98
|
+
if has_bookable_link_node?(node)
|
99
|
+
match = performance_link_text(node).match(/date\=(\d{4})(\d{2})(\d{2})/)
|
100
|
+
[match[1], match[2], match[3]]
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def performance_link(node)
|
105
|
+
node.css('a.performance').first
|
106
|
+
end
|
107
|
+
|
108
|
+
def performance_link_string(node)
|
109
|
+
performance_link(node).to_s
|
110
|
+
end
|
111
|
+
|
112
|
+
def performance_link_text(node)
|
113
|
+
has_bookable_link_node?(node) ? performance_link_string(node) : nil
|
114
|
+
end
|
115
|
+
|
116
|
+
def performance_time_array(node)
|
117
|
+
if has_bookable_link_node?(node)
|
118
|
+
match = performance_link_text(node).match(/time\=(\d{2})\:(\d{2})/)
|
119
|
+
[match[1], match[2]]
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def performance_varient(node)
|
124
|
+
dimension(node) + "#{ ' D-BOX' if dbox?(node) }#{ ' IMAX' if imax?(node) }"
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module CineworldUk
|
2
|
+
|
3
|
+
# The object representing a single screening on the Cineworld UK website
|
4
|
+
class Screening
|
5
|
+
|
6
|
+
# @return [String] the booking URL on the cinema website
|
7
|
+
attr_reader :booking_url
|
8
|
+
# @return [String] the cinema name
|
9
|
+
attr_reader :cinema_name
|
10
|
+
# @return [String] the film name
|
11
|
+
attr_reader :film_name
|
12
|
+
# @return [Time] the UTC time of the screening
|
13
|
+
attr_reader :when
|
14
|
+
# @return [String] the type of screening (2D, 3D, IMAX...)
|
15
|
+
attr_reader :varient
|
16
|
+
|
17
|
+
# @param [String] film_name the film name
|
18
|
+
# @param [String] cinema_name the cinema name
|
19
|
+
# @param [Time] time datetime of the screening (UTC preferred)
|
20
|
+
# @param [String] booking_url direct link to the booking page for this screening
|
21
|
+
# @param [String] varient the type of showing (e.g. 3d/baby/live)
|
22
|
+
def initialize(film_name, cinema_name, time, booking_url=nil, varient=nil)
|
23
|
+
@booking_url, @cinema_name, @film_name, @varient = booking_url, cinema_name, film_name, varient
|
24
|
+
@when = time.utc? ? time : TZInfo::Timezone.get('Europe/London').local_to_utc(time)
|
25
|
+
end
|
26
|
+
|
27
|
+
# The date of the screening
|
28
|
+
# @return [Date]
|
29
|
+
def date
|
30
|
+
@when.to_date
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,420 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<html lang="en">
|
4
|
+
<head>
|
5
|
+
<title>Cineworld Cinemas: Choose Your Local Cinema To See Film Times For The Latest Movies And 3D Performances In Your Area</title>
|
6
|
+
|
7
|
+
<meta charset="UTF-8" />
|
8
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
9
|
+
<meta name="robots" content="index, follow" />
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
11
|
+
|
12
|
+
<link type="image/x-icon" rel="shortcut icon" href="/cw/assets/favicon.ico" />
|
13
|
+
|
14
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/bootstrap.packed.css" media="all" />
|
15
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/jquery.fancybox.packed.css" media="all" />
|
16
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/nivo.slider.packed.css" media="all" />
|
17
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/nivo.slider.default.packed.css" media="all" />
|
18
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/zebra.datepicker.packed.css" media="all" />
|
19
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/cineworld.typography.packed.css" media="all" />
|
20
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/cineworld.layout.packed.css" media="all" />
|
21
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/cineworld.print.packed.css" media="print" />
|
22
|
+
<!--[if IE]>
|
23
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/cineworld.ie.packed.css" media="all" />
|
24
|
+
<![endif]-->
|
25
|
+
<!--[if lt IE 8]>
|
26
|
+
<link type="text/css" rel="stylesheet" href="/cw/assets/css/cineworld.ie7.packed.css" media="all" />
|
27
|
+
<![endif]-->
|
28
|
+
|
29
|
+
<script type="text/javascript" src="/cw/assets/javascript/log4j.packed.js"></script>
|
30
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.packed.js"></script>
|
31
|
+
<!--[if lt IE 8]>
|
32
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.pseudo.packed.js"></script>
|
33
|
+
<![endif]-->
|
34
|
+
|
35
|
+
<!-- This comment replaces content that was removed due to user's cookie settings -->
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
<meta name="Description" content="Cineworld Cinemas have digital screens across the UK: Choose your local cinema to see film times for the latest movies, 3D, IMAX and D-box performances in your area." />
|
40
|
+
<meta name="Keywords" content="Cinemas, local cinema branches, local cinema listings, Film times, local multiplex" />
|
41
|
+
<link rel="canonical" href="http://www.cineworld.co.uk/cinemas" />
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
<!-- cinwebprweb13.901e.sys.carrenza.net -->
|
47
|
+
|
48
|
+
<!-- This comment replaces content that was removed due to user's cookie settings -->
|
49
|
+
</head>
|
50
|
+
|
51
|
+
<body class="cineworld gb cinema search">
|
52
|
+
<div id="fb-root"></div>
|
53
|
+
|
54
|
+
<div id="wallpaper">
|
55
|
+
|
56
|
+
<div id="header" role="banner">
|
57
|
+
<div class="container">
|
58
|
+
<h1><a href="/">Cineworld Cinemas</a></h1>
|
59
|
+
|
60
|
+
<div class="account">
|
61
|
+
<span class="icon-logo-mycineworld ">mycineworld</span>
|
62
|
+
<p>
|
63
|
+
<a class="action secondary dark" data-type="login" href="/login?location=">Login</a>
|
64
|
+
<a class="action secondary dark" data-type="register" href="/register?location=&source=mycineworld&favouriteCinema=-1">Register</a>
|
65
|
+
<a class="action secondary dark" data-type="why" href="/mycineworld">Find out why?</a>
|
66
|
+
</p>
|
67
|
+
</div>
|
68
|
+
</div>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<div class="navigation" role="navigation">
|
72
|
+
<ul>
|
73
|
+
<li><a href="/">Home</a></li>
|
74
|
+
<li>
|
75
|
+
<a href="/whatson">What's On</a>
|
76
|
+
<ul>
|
77
|
+
<li><a href="/events">Bollywood & Live Events</a></li>
|
78
|
+
<li><a href="/whatson/category/junior">Movies for Juniors</a></li>
|
79
|
+
</ul>
|
80
|
+
</li>
|
81
|
+
<li>
|
82
|
+
<a href="/cinemas">Our Cinemas</a>
|
83
|
+
</li>
|
84
|
+
<li>
|
85
|
+
<a href="/prices">Prices</a>
|
86
|
+
</li>
|
87
|
+
<li>
|
88
|
+
<a href="/explore">Explore Cineworld</a>
|
89
|
+
<ul>
|
90
|
+
<li><a href="/explore/reald">RealD 3D</a></li>
|
91
|
+
<li><a href="/explore/imax">IMAX</a></li>
|
92
|
+
<li><a href="/explore/dbox">D-BOX</a></li>
|
93
|
+
<li><a href="/blog">Cineworld Blog</a></li>
|
94
|
+
<li><a href="/competitions">Offers & Competitions</a></li>
|
95
|
+
|
96
|
+
<li><a href="/baftascotland">BAFTA Scotland</a></li>
|
97
|
+
<li><a href="/take2">Take 2 Thursdays</a></li>
|
98
|
+
<li><a href="/starbucks">Starbucks at Cineworld</a></li>
|
99
|
+
</ul>
|
100
|
+
</li>
|
101
|
+
<li>
|
102
|
+
<a href="/unlimited">Unlimited Card</a>
|
103
|
+
<ul>
|
104
|
+
<li><a href="/unlimited/howitworks">How it works</a></li>
|
105
|
+
<li><a href="/unlimited/discounts">Unlimited discounts</a></li>
|
106
|
+
<li><a href="/unlimited/premium">Premium Unlimited</a></li>
|
107
|
+
<li><a href="https://www.unlimitedcineworld.com/uk/pages/Login.aspx">Apply for Unlimited</a></li>
|
108
|
+
</ul>
|
109
|
+
</li>
|
110
|
+
<li><a href="/giftcards">Gifts</a></li>
|
111
|
+
<li>
|
112
|
+
<form action="/search" method="get" class="search" role="search" data-ajax-action="/search/suggestions">
|
113
|
+
<label class="no-margin inline">
|
114
|
+
<span class="accessible-hide-html-self">Search</span>
|
115
|
+
<input accesskey="s" autocomplete="off" placeholder="Search" type="search" name="q" />
|
116
|
+
</label>
|
117
|
+
<ol class="results"></ol>
|
118
|
+
<button type="submit">Search</button>
|
119
|
+
</form>
|
120
|
+
</li>
|
121
|
+
</ul>
|
122
|
+
</div>
|
123
|
+
|
124
|
+
<div class="container" role="main">
|
125
|
+
|
126
|
+
<!-- [SL] Site content layout -->
|
127
|
+
<div class="layout">
|
128
|
+
<div id="content" >
|
129
|
+
<div class="section dark gradient clearfix ">
|
130
|
+
<h1>See what's showing at your local Cineworld Cinema</h1>
|
131
|
+
</div>
|
132
|
+
<div class="section light clearfix ">
|
133
|
+
<h1 class="ribbon">Which Cineworld Cinema's film times would you like to see?</h1>
|
134
|
+
|
135
|
+
|
136
|
+
<div class="row">
|
137
|
+
<div class="span12">
|
138
|
+
<form class="validate auto-submit" id="form-choose" name="form-choose" method="post">
|
139
|
+
|
140
|
+
<label>
|
141
|
+
<span>Choose a cinema:</span>
|
142
|
+
<select id="cinemaId" name="cinemaId" >
|
143
|
+
<option value="" selected="selected">Select a cinema</option>
|
144
|
+
<option value="1">Aberdeen - Queens Links</option>
|
145
|
+
<option value="78">Aberdeen - Union Square</option>
|
146
|
+
<option value="87">Aldershot</option>
|
147
|
+
<option value="12">Ashford</option>
|
148
|
+
<option value="23">Ashton-under-Lyne</option>
|
149
|
+
<option value="34">Bedford</option>
|
150
|
+
<option value="56">Birmingham</option>
|
151
|
+
<option value="67">Boldon Tyne and Wear</option>
|
152
|
+
<option value="72">Bolton</option>
|
153
|
+
<option value="73">Bradford</option>
|
154
|
+
<option value="2">Braintree</option>
|
155
|
+
<option value="3">Brighton</option>
|
156
|
+
<option value="4">Bristol</option>
|
157
|
+
<option value="5">Burton upon Trent</option>
|
158
|
+
<option value="6">Bury St. Edmunds</option>
|
159
|
+
<option value="7">Cambridge</option>
|
160
|
+
<option value="8">Cardiff</option>
|
161
|
+
<option value="9">Castleford</option>
|
162
|
+
<option value="11">Cheltenham</option>
|
163
|
+
<option value="14">Chesterfield</option>
|
164
|
+
<option value="15">Chichester</option>
|
165
|
+
<option value="16">Crawley</option>
|
166
|
+
<option value="17">Didcot</option>
|
167
|
+
<option value="18">Didsbury</option>
|
168
|
+
<option value="19">Dundee</option>
|
169
|
+
<option value="20">Eastbourne</option>
|
170
|
+
<option value="21">Edinburgh</option>
|
171
|
+
<option value="24">Falkirk</option>
|
172
|
+
<option value="88">Glasgow - IMAX at GSC</option>
|
173
|
+
<option value="27">Glasgow - Parkhead</option>
|
174
|
+
<option value="28">Glasgow - Renfrew Street</option>
|
175
|
+
<option value="29">Gloucester</option>
|
176
|
+
<option value="90">Gloucester Quays</option>
|
177
|
+
<option value="31">Harlow</option>
|
178
|
+
<option value="76">Haverhill</option>
|
179
|
+
<option value="33">High Wycombe</option>
|
180
|
+
<option value="35">Hull</option>
|
181
|
+
<option value="36">Huntingdon</option>
|
182
|
+
<option value="38">Ipswich</option>
|
183
|
+
<option value="39">Isle Of Wight</option>
|
184
|
+
<option value="40">Jersey</option>
|
185
|
+
<option value="83">Leigh</option>
|
186
|
+
<option value="41">Liverpool</option>
|
187
|
+
<option value="42">Llandudno</option>
|
188
|
+
<option value="45">London - Bexleyheath</option>
|
189
|
+
<option value="10">London - Chelsea</option>
|
190
|
+
<option value="22">London - Enfield</option>
|
191
|
+
<option value="25">London - Feltham</option>
|
192
|
+
<option value="26">London - Fulham Road</option>
|
193
|
+
<option value="30">London - Hammersmith</option>
|
194
|
+
<option value="32">London - Haymarket</option>
|
195
|
+
<option value="37">London - Ilford</option>
|
196
|
+
<option value="53">London - Shaftesbury Avenue</option>
|
197
|
+
<option value="60">London - Staples Corner</option>
|
198
|
+
<option value="79">London - The O2, Greenwich </option>
|
199
|
+
<option value="65">London - Wandsworth</option>
|
200
|
+
<option value="89">London - Wembley</option>
|
201
|
+
<option value="66">London - West India Quay</option>
|
202
|
+
<option value="70">London - Wood Green</option>
|
203
|
+
<option value="43">Luton</option>
|
204
|
+
<option value="44">Middlesbrough</option>
|
205
|
+
<option value="46">Milton Keynes</option>
|
206
|
+
<option value="47">Newport Wales</option>
|
207
|
+
<option value="48">Northampton</option>
|
208
|
+
<option value="49">Nottingham</option>
|
209
|
+
<option value="50">Rochester</option>
|
210
|
+
<option value="51">Rugby</option>
|
211
|
+
<option value="52">Runcorn</option>
|
212
|
+
<option value="54">Sheffield</option>
|
213
|
+
<option value="55">Shrewsbury</option>
|
214
|
+
<option value="57">Solihull</option>
|
215
|
+
<option value="58">Southampton</option>
|
216
|
+
<option value="59">St Helens</option>
|
217
|
+
<option value="61">Stevenage</option>
|
218
|
+
<option value="62">Stockport</option>
|
219
|
+
<option value="63">Swindon</option>
|
220
|
+
<option value="64">Wakefield</option>
|
221
|
+
<option value="68">Weymouth</option>
|
222
|
+
<option value="77">Witney</option>
|
223
|
+
<option value="69">Wolverhampton</option>
|
224
|
+
<option value="71">Yeovil</option>
|
225
|
+
</select>
|
226
|
+
</label>
|
227
|
+
|
228
|
+
<label class="inline margin-right">
|
229
|
+
<span>Search by town or postcode:</span>
|
230
|
+
<input type="text" id="location" name="location" value="" placeholder='Town or postcode' />
|
231
|
+
|
232
|
+
</label>
|
233
|
+
|
234
|
+
<button class="action primary" type="submit" name="nearest" id="nearest">Search</button>
|
235
|
+
</form>
|
236
|
+
|
237
|
+
<hr />
|
238
|
+
</div>
|
239
|
+
</div>
|
240
|
+
|
241
|
+
<div class="row">
|
242
|
+
<div class="span12">
|
243
|
+
<h2>Your closest suggested cinemas are:</h2>
|
244
|
+
</div>
|
245
|
+
</div>
|
246
|
+
|
247
|
+
<ol class="cinemas unstyled clearfix">
|
248
|
+
<li >
|
249
|
+
<address class="marker">
|
250
|
+
<div class="pin primary small">1</div>
|
251
|
+
<strong>Cineworld London - Haymarket</strong> (0.62 miles)
|
252
|
+
<br />63-65 Haymarket, London, SW1Y 4RL
|
253
|
+
</address>
|
254
|
+
<a class="action secondary light" href="/whatson?cinema=32" target="_parent">View Cineworld London - Haymarket</a>
|
255
|
+
</li>
|
256
|
+
<li class="odd">
|
257
|
+
<address class="marker">
|
258
|
+
<div class="pin primary small">2</div>
|
259
|
+
<strong>Cineworld London - Shaftesbury Avenue</strong> (0.77 miles)
|
260
|
+
<br />13 Coventry Street, Piccadilly, London, W1D 7DH
|
261
|
+
</address>
|
262
|
+
<a class="action secondary light" href="/whatson?cinema=53" target="_parent">View Cineworld London - Shaftesbury Avenue</a>
|
263
|
+
</li>
|
264
|
+
<li >
|
265
|
+
<address class="marker">
|
266
|
+
<div class="pin primary small">3</div>
|
267
|
+
<strong>Cineworld London - Chelsea</strong> (2.13 miles)
|
268
|
+
<br />279 Kings Road,Chelsea, London, SW3 5EW
|
269
|
+
</address>
|
270
|
+
<a class="action secondary light" href="/whatson?cinema=10" target="_parent">View Cineworld London - Chelsea</a>
|
271
|
+
</li>
|
272
|
+
<li class="odd">
|
273
|
+
<address class="marker">
|
274
|
+
<div class="pin primary small">4</div>
|
275
|
+
<strong>Cineworld London - Fulham Road</strong> (2.3 miles)
|
276
|
+
<br />142 Fulham Road, London, SW10 9QR
|
277
|
+
</address>
|
278
|
+
<a class="action secondary light" href="/whatson?cinema=26" target="_parent">View Cineworld London - Fulham Road</a>
|
279
|
+
</li>
|
280
|
+
<li >
|
281
|
+
<address class="marker">
|
282
|
+
<div class="pin primary small">5</div>
|
283
|
+
<strong>Cineworld London - Wandsworth</strong> (4.13 miles)
|
284
|
+
<br />Southside Shopping Centre, Wandsworth High Street,, SW18 4TF
|
285
|
+
</address>
|
286
|
+
<a class="action secondary light" href="/whatson?cinema=65" target="_parent">View Cineworld London - Wandsworth</a>
|
287
|
+
</li>
|
288
|
+
<li class="odd">
|
289
|
+
<address class="marker">
|
290
|
+
<div class="pin primary small">6</div>
|
291
|
+
<strong>Cineworld London - Hammersmith</strong> (4.47 miles)
|
292
|
+
<br />207 King Street, Hammersmith, London, W6 9JT
|
293
|
+
</address>
|
294
|
+
<a class="action secondary light" href="/whatson?cinema=30" target="_parent">View Cineworld London - Hammersmith</a>
|
295
|
+
</li>
|
296
|
+
</ol>
|
297
|
+
</div>
|
298
|
+
</div>
|
299
|
+
|
300
|
+
|
301
|
+
<div id="footer" role="contentinfo">
|
302
|
+
<div class="section dark clearfix ">
|
303
|
+
|
304
|
+
<div class="row">
|
305
|
+
|
306
|
+
<hr class="highlight" />
|
307
|
+
|
308
|
+
<div class="span4">
|
309
|
+
<h3>Venue hire</h3>
|
310
|
+
<ul>
|
311
|
+
<li><a href="/venuehire">Find out more</a></li>
|
312
|
+
</ul>
|
313
|
+
</div>
|
314
|
+
|
315
|
+
<div class="span3">
|
316
|
+
<h3>My booking</h3>
|
317
|
+
<ul>
|
318
|
+
<li><a href="/checkbooking">Check my booking</a></li>
|
319
|
+
</ul>
|
320
|
+
|
321
|
+
<h3>Follow us</h3>
|
322
|
+
<ul class="social">
|
323
|
+
<li class="twitter"><a href="http://twitter.com/cineworld" target="_blank">Twitter</a></li>
|
324
|
+
<li class="facebook"><a href="http://www.facebook.com/cineworld" target="_blank">Facebook</a></li>
|
325
|
+
<li class="youtube"><a href="http://www.youtube.com/user/CineworldCinemas" target="_blank">YouTube</a></li>
|
326
|
+
</ul>
|
327
|
+
</div>
|
328
|
+
|
329
|
+
<div class="span5">
|
330
|
+
<h3>Around Cineworld</h3>
|
331
|
+
<ul>
|
332
|
+
<li><a href="/contact">Contact us</a></li>
|
333
|
+
<li><a href="/terms">Terms & conditions</a></li>
|
334
|
+
<li><a href="/policy">Privacy policy</a></li>
|
335
|
+
<li><a href="/cw/assets/downloads/cineworld_nutritional_information.pdf">Nutritional information</a></li>
|
336
|
+
<li><a href="/cookies/settings">Cookie settings</a></li>
|
337
|
+
<li><a href="/faq">FAQs</a></li>
|
338
|
+
<li><a href="/careers">Careers</a></li>
|
339
|
+
<li><a href="/press">Press</a></li>
|
340
|
+
<li><a href="http://www.cineworldplc.com/" target="_blank">Cineworld Group PLC</a></li>
|
341
|
+
<li><a href="/accessibility">Accessibility</a></li>
|
342
|
+
</ul>
|
343
|
+
|
344
|
+
<h3>Cineworld apps</h3>
|
345
|
+
<ul>
|
346
|
+
<li><a href="http://itunes.apple.com/gb/app/cineworld/id377707014">iPhone app</a></li>
|
347
|
+
<li><a href="https://play.google.com/store/apps/details?id=com.cineworld">Android app</a></li>
|
348
|
+
<li><a href="http://itunes.apple.com/gb/app/cineworld-magazine/id508350271">iPad magazine</a></li>
|
349
|
+
</ul>
|
350
|
+
</div>
|
351
|
+
|
352
|
+
</div>
|
353
|
+
|
354
|
+
|
355
|
+
<div class="row">
|
356
|
+
<div class="span12 smallprint small">
|
357
|
+
<p>All rights reserved Cineworld Cinemas 2013 ©</p>
|
358
|
+
</div>
|
359
|
+
</div>
|
360
|
+
|
361
|
+
</div>
|
362
|
+
</div>
|
363
|
+
</div>
|
364
|
+
<!-- [SL] end -->
|
365
|
+
</div>
|
366
|
+
</div>
|
367
|
+
|
368
|
+
<div id="tooltip-template-performance-unavailable" class="tooltip-box performance unavailable">
|
369
|
+
<h3 data-field="title" class="default">This showtime is unavailable</h3>
|
370
|
+
<hr class="thin" />
|
371
|
+
<p data-field="explanation" class="default">Booking is unavailable for this showtime as it may have already started, finished or been sold out.</p>
|
372
|
+
</div>
|
373
|
+
|
374
|
+
<div class="notification cookie" style="display: none;">
|
375
|
+
<h1 class="">Cookies Notification</h1>
|
376
|
+
<div>
|
377
|
+
<p>This website uses cookies to provide you with a better experience.<br /><br />You can adjust your cookie settings at any time at the bottom of each page. If you do not adjust your settings, you are consenting to us issuing all cookies to you.<br /><br /></p>
|
378
|
+
<p>
|
379
|
+
<a href="/cookies/settings">Change settings</a><br />
|
380
|
+
<a href="/cookies/about" target="_blank">Find out more about Cookies</a>
|
381
|
+
</p>
|
382
|
+
<p>
|
383
|
+
<a class="action primary">No, thanks</a>
|
384
|
+
</p>
|
385
|
+
|
386
|
+
<p>This notification will be automatically dismissed in <span class="remaining">15</span> seconds, <a class="dismiss">dismiss this countdown</a>.</p>
|
387
|
+
</div>
|
388
|
+
</div>
|
389
|
+
|
390
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.blockui.packed.js"></script>
|
391
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.lazyload.packed.js"></script>
|
392
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.validate.packed.js"></script>
|
393
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.form.packed.js"></script>
|
394
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.tabs.packed.js"></script>
|
395
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.masonry.packed.js"></script>
|
396
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.fancybox.packed.js"></script>
|
397
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.nivo.slider.packed.js"></script>
|
398
|
+
<script type="text/javascript" src="/cw/assets/javascript/zebra.datepicker.packed.js"></script>
|
399
|
+
<script type="text/javascript" src="/cw/assets/javascript/jwplayer.packed.js"></script>
|
400
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.quickbook.packed.js"></script>
|
401
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.core.packed.js"></script>
|
402
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.cookies.packed.js"></script>
|
403
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.mycineworld.packed.js"></script>
|
404
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.instant_search.packed.js"></script>
|
405
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.whatson.packed.js"></script>
|
406
|
+
<script type="text/javascript" src="/cw/assets/javascript/jquery.cineworld.tooltip.packed.js"></script>
|
407
|
+
<script type="text/javascript" src="/cw/assets/javascript/initialise.packed.js"></script>
|
408
|
+
|
409
|
+
|
410
|
+
<!-- This comment replaces content that was removed due to user's cookie settings -->
|
411
|
+
<script type="text/javascript">
|
412
|
+
//<![CDATA[
|
413
|
+
(function() {
|
414
|
+
var _analytics_scr = document.createElement('script');
|
415
|
+
_analytics_scr.type = 'text/javascript'; _analytics_scr.async = true; _analytics_scr.src = '/_Incapsula_Resource?SWJIYLWA=2977d8d74f63d7f8fedbea018b7a1d05&ns=2';
|
416
|
+
var _analytics_elem = document.getElementsByTagName('script')[0]; _analytics_elem.parentNode.insertBefore(_analytics_scr, _analytics_elem);
|
417
|
+
})();
|
418
|
+
// ]]>
|
419
|
+
</script></body>
|
420
|
+
</html>
|