kandianying 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +8 -0
- data/Gemfile +10 -2
- data/LICENSE +22 -0
- data/README.md +16 -15
- data/Rakefile +8 -0
- data/bin/kandianying +16 -2
- data/kandianying.gemspec +5 -5
- data/lib/kandianying/ambassador.rb +64 -0
- data/lib/kandianying/version.rb +3 -3
- data/lib/kandianying/vieshow.rb +62 -41
- data/lib/kandianying.rb +2 -4
- data/spec/fixtures/vcr_cassettes/vieshow_name_05.yml +225 -0
- data/spec/fixtures/vcr_cassettes/vieshow_name_12.yml +193 -0
- data/spec/fixtures/vcr_cassettes/vieshow_table_05.yml +225 -0
- data/spec/fixtures/vcr_cassettes/vieshow_table_12.yml +193 -0
- data/spec/fixtures/vieshow_name_05.yml +21 -0
- data/spec/fixtures/vieshow_name_12.yml +16 -0
- data/spec/fixtures/vieshow_table_05.yml +74 -0
- data/spec/fixtures/vieshow_table_12.yml +59 -0
- data/spec/support/vcr_setup.rb +16 -0
- data/spec/vieshow_spec.rb +33 -0
- metadata +81 -4
- data/lib/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95a157f5b1813fc44b21889c9c8b48273f6241fb
|
4
|
+
data.tar.gz: 31161c5de5247023276310a64febcc89a46f9763
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5de21692c8ccf28e865f0a812d231932409fcb7ae1a1aee7bca30e67df1f673251a534e2bf8f67e94904e4332209d27d0dd3860183a9fc90126e6c43af5cfb5f
|
7
|
+
data.tar.gz: 15e21f3f1f419139c178958144941dd637edc004b68edd351ec7ad6ad61a62a72ca8412c3b33a124e819e0b228e9c32f4433cc5b27c6b485f2d752d2e042fe8a
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
22
|
+
|
data/README.md
CHANGED
@@ -1,33 +1,34 @@
|
|
1
|
-
# Hsinchu_Movie
|
1
|
+
# Hsinchu_Movie[![Gem Version](https://badge.fury.io/rb/kandianying.svg)](https://badge.fury.io/rb/kandianying)[![Build Status](https://travis-ci.org/SOAupstart2/Hsinchu_Movie.svg)](https://travis-ci.org/SOAupstart2/Hsinchu_Movie)
|
2
2
|
|
3
|
-
https://rubygems.org/gems/
|
3
|
+
https://rubygems.org/gems/kandianying
|
4
4
|
|
5
|
-
A simple Ruby Gem to
|
5
|
+
A simple Ruby Gem to get data from cinema websites in Hsinchu. Currently, we can get the film lists and show times given a vieshow cinema code.
|
6
6
|
|
7
|
-
|
8
|
-
## Usage
|
7
|
+
## Installation
|
9
8
|
|
10
9
|
Run the following command:
|
11
|
-
|
12
10
|
```
|
13
11
|
gem install kandianying
|
14
12
|
```
|
15
|
-
### Command line usage
|
16
13
|
|
14
|
+
### General usage notes
|
15
|
+
Currently, usage requires specifying a theater_id. This value ranges from 1 to 14. For a cinema located in Hsinchu, use 5 or 12.
|
16
|
+
|
17
|
+
### Command line usage
|
17
18
|
```
|
18
|
-
kandianying
|
19
|
+
kandianying vieshow <theater_id>
|
20
|
+
# This prints out cinema name with films on display and show times.
|
19
21
|
```
|
20
22
|
|
21
23
|
### Usage in ruby code
|
22
24
|
```
|
23
|
-
require '
|
25
|
+
require 'kandianying'
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
vieshow_movie = HsinChuMovie::Vieshow.new(<theater_id>)
|
28
|
+
vieshow_movie.movie_names # Returns array of film names
|
29
|
+
vieshow_movie.movie_table # Returns JSON array of film names, dates, time
|
30
|
+
vieshow_movie.to_json # Puts JSON array of movie_table
|
29
31
|
```
|
30
32
|
|
31
33
|
## License
|
32
|
-
|
33
|
-
Distributed under the [MIT License](LICENSE).
|
34
|
+
Distributed under the [MIT License](LICENSE).
|
data/Rakefile
CHANGED
data/bin/kandianying
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require_relative '../lib/kandianying'
|
3
|
+
VIESHOW_CODES = ('1'..'14').to_a.map { |e| e.length == 1 ? "0#{e}" : e }
|
3
4
|
|
4
|
-
|
5
|
-
|
5
|
+
if ARGV[0] == 'vieshow'
|
6
|
+
ARGV[1] = "0#{ARGV[1]}" if ARGV[1].length == 1
|
7
|
+
if VIESHOW_CODES.include? ARGV[1]
|
8
|
+
cinema = HsinChuMovie::Vieshow.new(ARGV[1])
|
9
|
+
puts cinema.cinema_name
|
10
|
+
cinema.movie_table.each do |_, movies|
|
11
|
+
movies.each do |movie, times|
|
12
|
+
puts movie
|
13
|
+
times.each { |k, v| puts k + "\t" + v }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
else
|
17
|
+
puts 'Please use a cinema code between \'1\' and \'14\''
|
18
|
+
end
|
19
|
+
end
|
data/kandianying.gemspec
CHANGED
@@ -12,13 +12,13 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.email = %w(stonegold546@gmail.com jr@nlplab.cc
|
13
13
|
pengyu@gmail.com stozuka@gmail.com)
|
14
14
|
s.files = `git ls-files`.split("\n")
|
15
|
-
|
15
|
+
s.test_files = `git ls-files spec/*`.split("\n")
|
16
16
|
s.homepage = 'https://github.com/SOAupstart2/Hsinchu_Movie'
|
17
17
|
s.license = 'MIT'
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
s.add_development_dependency 'minitest'
|
20
|
+
s.add_development_dependency 'minitest-rg'
|
21
|
+
s.add_development_dependency 'vcr'
|
22
|
+
s.add_development_dependency 'webmock'
|
23
23
|
s.add_runtime_dependency 'nokogiri'
|
24
24
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'json'
|
4
|
+
require 'yaml'
|
5
|
+
|
6
|
+
# Scraper for Ambassador
|
7
|
+
module Ambassador
|
8
|
+
AMBASSADOR_THEATER_ID_URL = 'http://www.ambassador.com.tw/showtime_list.html'
|
9
|
+
AMBASSADOR_THEATER_ID_XPATH = "//*[@class='list-group sidebar-nav-v1']//li//a"
|
10
|
+
AMBASSADOR_TIME_API = 'http://cinemaservice.ambassador.com.tw/ambassadorsite.webapi/api/Movies/GetScreeningDateListForTheater/?'
|
11
|
+
AMBASSADOR_FILM_API = 'http://cinemaservice.ambassador.com.tw/ambassadorsite.webapi/api/Movies/GetShowtimeListForTheater/?'
|
12
|
+
# Class for Vieshow films
|
13
|
+
class Ambassador
|
14
|
+
attr_reader :movie_table
|
15
|
+
attr_reader :theater_id_table
|
16
|
+
def initialize
|
17
|
+
@movie_table = {}
|
18
|
+
@theater_id_table = fetch_theater_id_table(AMBASSADOR_THEATER_ID_URL)
|
19
|
+
theater_id_table.each do |theater_id, theater_name|
|
20
|
+
date_list = fetch_theater_date(theater_id)
|
21
|
+
@movie_table[theater_name] = fetch_movie_info(theater_id, date_list)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def fetch_movie_info(theater_id, date_list)
|
26
|
+
movie_info = Hash.new { |h, k| h[k] = {} }
|
27
|
+
date_list.each do |date|
|
28
|
+
ur = "#{AMBASSADOR_FILM_API}theaterId=#{theater_id}&showingDate=#{date}"
|
29
|
+
movies = JSON.parse(Nokogiri::HTML(open(ur)).text)
|
30
|
+
movies.each do |movie|
|
31
|
+
name = movie['ForeignName']
|
32
|
+
time = movie['PeriodShowtime'].first['Showtimes']
|
33
|
+
movie_info[name][date] = time
|
34
|
+
end
|
35
|
+
end
|
36
|
+
movie_info
|
37
|
+
end
|
38
|
+
|
39
|
+
def fetch_theater_date(theater_id)
|
40
|
+
url = "#{AMBASSADOR_TIME_API}theaterId=#{theater_id}"
|
41
|
+
JSON.parse(Nokogiri::HTML(open(url)).text)
|
42
|
+
end
|
43
|
+
|
44
|
+
def fetch_theater_id_table(url)
|
45
|
+
theater_id_list = {}
|
46
|
+
open_doc = Nokogiri::HTML(open(url))
|
47
|
+
theater = open_doc.xpath(AMBASSADOR_THEATER_ID_XPATH)
|
48
|
+
theater.each do |t|
|
49
|
+
theater_id = t.attributes['href'].value.split("'")[1]
|
50
|
+
theater_name = t.text
|
51
|
+
theater_id_list[theater_id] = theater_name
|
52
|
+
end
|
53
|
+
theater_id_list
|
54
|
+
end
|
55
|
+
|
56
|
+
def to_json
|
57
|
+
@movie_table.to_json
|
58
|
+
end
|
59
|
+
|
60
|
+
def to_yaml
|
61
|
+
@movie_table.yaml
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/lib/kandianying/version.rb
CHANGED
data/lib/kandianying/vieshow.rb
CHANGED
@@ -4,54 +4,75 @@ require 'json'
|
|
4
4
|
|
5
5
|
# Scraper for VieShow
|
6
6
|
module VieShow
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
7
|
+
VIESHOW_URL = 'http://sales.vscinemas.com.tw/ticketing/visPrintShowTimes'\
|
8
|
+
'.aspx?visCinemaID=00'
|
9
|
+
VIESHOW_COOKIE_SETTINGS = 'AspxAutoDetectCookieSupport=1'
|
10
|
+
VIESHOW_BASE_XPATH = 'PrintShowTimes'
|
11
|
+
VIESHOW_CLASSES_XPATH = %w(Film Day Session)
|
12
|
+
VIESHOW_TABLE_XPATH = "//*[@class=\'#{VIESHOW_BASE_XPATH}Table\']//td"
|
13
|
+
VIESHOW_DATA_XPATH = VIESHOW_CLASSES_XPATH.map do |scrape_class|
|
14
|
+
"@class=\'#{VIESHOW_BASE_XPATH}#{scrape_class}\'"
|
15
|
+
end.join(' or ')
|
16
|
+
VIESHOW_FULL_XPATH = VIESHOW_TABLE_XPATH + '[' + VIESHOW_DATA_XPATH + ']'
|
17
|
+
VIESHOW_CINEMA_CODES = ('1'..'14').to_a.map do |e|
|
18
|
+
e.length == 1 ? "0#{e}" : e
|
19
19
|
end
|
20
|
+
VIESHOW_CINEMA_NAME_XPATH = "//*[contains(@class, 'PrintCinemaName')]"
|
20
21
|
|
21
|
-
#
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
# Class for Vieshow films
|
23
|
+
class Vieshow
|
24
|
+
# initialize movie_table with ID
|
25
|
+
def initialize(vis_cinema_id)
|
26
|
+
vis_cinema_id = vis_cinema_id.to_s
|
27
|
+
vis_cinema_id = "0#{vis_cinema_id}" if vis_cinema_id.length == 1
|
28
|
+
fail unless VIESHOW_CINEMA_CODES.include? vis_cinema_id
|
29
|
+
doc = visit_vieshow(vis_cinema_id)
|
30
|
+
@table = doc.xpath(VIESHOW_FULL_XPATH)
|
31
|
+
@cinema_name = doc.xpath(VIESHOW_CINEMA_NAME_XPATH).text
|
32
|
+
@movie_table = Hash.new { |hash, key| hash[key] = [] }
|
33
|
+
make_movie_table
|
34
|
+
@movie_table = { @cinema_name => @movie_table }
|
26
35
|
end
|
27
|
-
@movie_table.each {|k,v| movie_table[k]= v.to_h}
|
28
|
-
end
|
29
36
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
when 'PrintShowTimesSession'
|
38
|
-
@movie_table[current_movie][-1] << td.text
|
37
|
+
# fetch movie_table
|
38
|
+
attr_reader :movie_table, :cinema_name
|
39
|
+
|
40
|
+
def visit_vieshow(vis_cinema_id)
|
41
|
+
url = VIESHOW_URL + vis_cinema_id
|
42
|
+
open_doc = open(url, 'Cookie' => VIESHOW_COOKIE_SETTINGS)
|
43
|
+
Nokogiri::HTML(open_doc)
|
39
44
|
end
|
40
|
-
current_movie
|
41
|
-
end
|
42
45
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
46
|
+
# make movie_table like the structure {"name"=>[[day,time],"name2".....}
|
47
|
+
def make_movie_table
|
48
|
+
current_movie = ''
|
49
|
+
@table.each do |td|
|
50
|
+
current_movie = movie_conditions(td, current_movie)
|
51
|
+
end
|
52
|
+
@movie_table.each { |k, v| movie_table[k] = v.to_h }
|
53
|
+
end
|
47
54
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
55
|
+
# make make_movie_table simple
|
56
|
+
def movie_conditions(td, current_movie)
|
57
|
+
case td.first[1]
|
58
|
+
when 'PrintShowTimesFilm'
|
59
|
+
current_movie = td.text
|
60
|
+
when 'PrintShowTimesDay'
|
61
|
+
@movie_table[current_movie] << [td.text]
|
62
|
+
when 'PrintShowTimesSession'
|
63
|
+
@movie_table[current_movie][-1] << td.text
|
64
|
+
end
|
65
|
+
current_movie
|
66
|
+
end
|
52
67
|
|
53
|
-
|
54
|
-
|
55
|
-
|
68
|
+
# get all movies' names
|
69
|
+
def movie_names
|
70
|
+
@movie_table.values[0].keys
|
71
|
+
end
|
72
|
+
|
73
|
+
# get json format from movie_table
|
74
|
+
def to_json
|
75
|
+
@movie_table.to_json
|
76
|
+
end
|
56
77
|
end
|
57
78
|
end
|
data/lib/kandianying.rb
CHANGED
@@ -0,0 +1,225 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://sales.vscinemas.com.tw/ticketing/visPrintShowTimes.aspx?visCinemaID=0005
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Cookie:
|
11
|
+
- AspxAutoDetectCookieSupport=1
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Cache-Control:
|
24
|
+
- private
|
25
|
+
Content-Type:
|
26
|
+
- text/html; charset=utf-8
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/7.5
|
29
|
+
Set-Cookie:
|
30
|
+
- ASP.NET_SessionId=pughsh2sd2js0255s4yvxlik; path=/; HttpOnly
|
31
|
+
- visSessionID=db9d015bc079429f904574c90d80a496; expires=Sat, 28-Nov-2015 03:56:55
|
32
|
+
GMT; path=/
|
33
|
+
X-Aspnet-Version:
|
34
|
+
- 2.0.50727
|
35
|
+
X-Powered-By:
|
36
|
+
- ASP.NET
|
37
|
+
Date:
|
38
|
+
- Wed, 28 Oct 2015 03:56:54 GMT
|
39
|
+
Content-Length:
|
40
|
+
- '14023'
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: "\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n<HTML>\r\n\t<HEAD>\r\n\t\t<title>\r\n\t\t\t***Vieshow
|
44
|
+
Cinemas***</title>\r\n\t\t<meta content=\"Microsoft Visual Studio .NET 7.1\"
|
45
|
+
name=\"GENERATOR\">\r\n\t\t<meta content=\"Visual Basic .NET 7.1\" name=\"CODE_LANGUAGE\">\r\n\t\t<meta
|
46
|
+
content=\"JavaScript\" name=\"vs_defaultClientScript\">\r\n\t\t<meta content=\"http://schemas.microsoft.com/intellisense/ie5\"
|
47
|
+
name=\"vs_targetSchema\">\r\n\t\t<script language=\"javascript\" src=\"visJavaCommon.js\"></script>\r\n\t\t<LINK
|
48
|
+
href=\"visStyles.css\" type=\"text/css\" rel=\"stylesheet\">\r\n\t\t<!-- visStylesUser.css
|
49
|
+
must proceed visStyles.css, so to override the default styles if requested
|
50
|
+
-->\r\n\t\t<LINK href=\"visStylesUser.css\" type=\"text/css\" rel=\"stylesheet\">\r\n\t</HEAD>\r\n\t<body
|
51
|
+
MS_POSITIONING=\"GridLayout\">\r\n\t\t<form name=\"Form1\" method=\"post\"
|
52
|
+
action=\"visPrintShowTimes.aspx?visCinemaID=0005\" id=\"Form1\">\r\n<input
|
53
|
+
type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\"/wEPDwULLTEwMzQ3Mjk5MzMPZBYEAgEPFgIeBFRleHQFFSoqKlZpZXNob3cgQ2luZW1hcyoqKmQCAw9kFgRmDxYEHgNzcmMFIkltYWdlcy9QcmludGFibGVMaXN0aW5nc0hlYWRlci5naWYeBUNsYXNzBRhJbWFnZVByaW50TGlzdGluZ3NIZWFkZXJkAgMPDxYEHgVXaWR0aBsAAAAAAACEQAEAAAAeBF8hU0ICgAJkZGT5mKGxhoS0nuX/bIKN/Ky7v46pnA==\"
|
54
|
+
/>\r\n\r\n\t\t <table cellpadding=0 cellspacing=0 width=560 class=\"PrintShowTimesHeaderTable\">\r\n\t\t
|
55
|
+
\ <tr>\r\n\t\t <td valign=\"middle\"><img src=\"Images/PrintableListingsHeader.gif\"
|
56
|
+
id=\"imgHeader\" Class=\"ImagePrintListingsHeader\" /></td>\r\n\t\t <td><table
|
57
|
+
id=\"tblHeader\" class=\"PrintShowTimesHeaderTable\" border=\"0\">\r\n\t<tr>\r\n\t\t<td
|
58
|
+
colspan=\"2\"><a href=\"visHome.aspx\"><img src=\"images/back_print.gif\"
|
59
|
+
id=\"imgBack\" Class=\"ImageBack\" border=\"0\" /></a><a href=\"Javascript:
|
60
|
+
supportedPrint();\"><img src=\"images/PrintShowTimes.gif\" id=\"imgPrint\"
|
61
|
+
Class=\"ImagePrintShowTimes\" border=\"0\" /></a></td>\r\n\t</tr><tr>\r\n\t\t<td><span
|
62
|
+
class=\"PrintSelectionLabel\">Cinema:</span></td><td><span class=\"PrintCinemaName\">VS
|
63
|
+
Cinemas Hsinchu FE21</span></td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"><span
|
64
|
+
class=\"PrintDateRange\">Showtimes for, Oct 28 Wed - Nov 12 Thu</span></td>\r\n\t</tr>\r\n</table></td>\r\n\t\t
|
65
|
+
\ </tr>\r\n\t\t <tr>\r\n\t\t <td colspan=2></td>\r\n\t\t
|
66
|
+
\ </tr>\r\n\t\t </table>\r\n\t\t\t\r\n\t\t\t<table id=\"tblShowTimes\"
|
67
|
+
class=\"PrintShowTimesTable\" border=\"0\" width=\"640\">\r\n\t<tr>\r\n\t\t<td
|
68
|
+
width=\"145\"></td><td width=\"495\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
69
|
+
colspan=\"2\">(4DX)THE LAST WITCH HUNTER (PG)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
70
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
71
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">12:45, 14:50,
|
72
|
+
16:55, 19:00, 21:10, 23:15</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
73
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
74
|
+
valign=\"top\" colspan=\"1\">10:40, 12:45, 14:50, 16:55, 19:00, 21:10, 23:15</td>\r\n\t</tr><tr>\r\n\t\t<td
|
75
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
76
|
+
colspan=\"2\">(DIG C)THE LITTLE PRINCE (G)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
77
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
78
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">15:00, 19:10</td>\r\n\t</tr><tr>\r\n\t\t<td
|
79
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
80
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:50, 15:00,
|
81
|
+
19:10</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
82
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG E)THE LITTLE PRINCE (G)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
83
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
84
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">12:55, 17:05,
|
85
|
+
21:15, 23:20</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\" valign=\"top\"
|
86
|
+
colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\" valign=\"top\"
|
87
|
+
colspan=\"1\">12:55, 17:05, 21:15, 23:20</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
88
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)ANOTHER WOMAN (P)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
89
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
90
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">15:40, 17:40,
|
91
|
+
19:35, 00:10</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\" valign=\"top\"
|
92
|
+
colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\" valign=\"top\"
|
93
|
+
colspan=\"1\">11:00, 15:40, 17:40, 19:35, 00:10</td>\r\n\t</tr><tr>\r\n\t\t<td
|
94
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
95
|
+
colspan=\"2\">(DIG)BLACK MASS (R)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
96
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
97
|
+
valign=\"top\" colspan=\"1\">13:30, 16:00, 18:20, 20:40, 23:00</td>\r\n\t</tr><tr>\r\n\t\t<td
|
98
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
99
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">11:10, 13:30,
|
100
|
+
16:00, 18:20, 20:40, 23:00</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
101
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)BRIDGE OF SPIES (P)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
102
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
103
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">13:00, 17:30,
|
104
|
+
21:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\" valign=\"top\"
|
105
|
+
colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\" valign=\"top\"
|
106
|
+
colspan=\"1\">13:00, 17:30, 21:30</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
107
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)CRIMSON PEAK (R)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
108
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
109
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">12:50, 15:10,
|
110
|
+
16:50, 21:35, 23:55</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
111
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
112
|
+
valign=\"top\" colspan=\"1\">12:50, 15:10, 16:50, 21:35, 23:55</td>\r\n\t</tr><tr>\r\n\t\t<td
|
113
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
114
|
+
colspan=\"2\">(DIG)PAN (P)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
115
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
116
|
+
valign=\"top\" colspan=\"1\">14:10</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
117
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
118
|
+
valign=\"top\" colspan=\"1\">14:10</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
119
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)SPECTRE (PG)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
120
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 5 Thu</td><td
|
121
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:45, 13:30,
|
122
|
+
16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
123
|
+
valign=\"top\" colspan=\"1\">Nov 6 Fri</td><td class=\"PrintShowTimesSession\"
|
124
|
+
valign=\"top\" colspan=\"1\">10:45, 13:30, 16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td
|
125
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 7 Sat</td><td
|
126
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:45, 13:30,
|
127
|
+
16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
128
|
+
valign=\"top\" colspan=\"1\">Nov 8 Sun</td><td class=\"PrintShowTimesSession\"
|
129
|
+
valign=\"top\" colspan=\"1\">10:15, 13:00, 15:45, 18:30, 21:15, 00:00</td>\r\n\t</tr><tr>\r\n\t\t<td
|
130
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 9 Mon</td><td
|
131
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:45, 13:30,
|
132
|
+
16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
133
|
+
valign=\"top\" colspan=\"1\">Nov 10 Tue</td><td class=\"PrintShowTimesSession\"
|
134
|
+
valign=\"top\" colspan=\"1\">10:45, 13:30, 16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td
|
135
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 11 Wed</td><td
|
136
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:45, 13:30,
|
137
|
+
16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
138
|
+
valign=\"top\" colspan=\"1\">Nov 12 Thu</td><td class=\"PrintShowTimesSession\"
|
139
|
+
valign=\"top\" colspan=\"1\">10:45, 13:30, 16:15, 19:00, 21:45, 00:30</td>\r\n\t</tr><tr>\r\n\t\t<td
|
140
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
141
|
+
colspan=\"2\">(DIG)THE GREEN INFERNO (R)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
142
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
143
|
+
valign=\"top\" colspan=\"1\">12:40, 22:05, 00:05</td>\r\n\t</tr><tr>\r\n\t\t<td
|
144
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
145
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:45, 12:40,
|
146
|
+
22:05, 00:05</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
147
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)THE INTERN (P)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
148
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
149
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">16:20, 18:40,
|
150
|
+
21:00, 23:30</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\" valign=\"top\"
|
151
|
+
colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\" valign=\"top\"
|
152
|
+
colspan=\"1\">11:50, 16:20, 18:40, 21:00, 23:30</td>\r\n\t</tr><tr>\r\n\t\t<td
|
153
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
154
|
+
colspan=\"2\">(DIG)THE LAST WITCH HUNTER (PG)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
155
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
156
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">13:45, 15:50,
|
157
|
+
17:55, 20:00, 22:10, 00:15</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
158
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
159
|
+
valign=\"top\" colspan=\"1\">11:40, 13:45, 15:50, 17:55, 20:00, 22:10, 00:15</td>\r\n\t</tr><tr>\r\n\t\t<td
|
160
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
161
|
+
colspan=\"2\">(DIG)THE MARTIAN (P)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
162
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
163
|
+
valign=\"top\" colspan=\"1\">14:00, 16:40, 19:30, 22:20</td>\r\n\t</tr><tr>\r\n\t\t<td
|
164
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
165
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">11:20, 14:00,
|
166
|
+
16:40, 19:30, 22:20</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
167
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)WANSEI BACK HOME (G)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
168
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
169
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">14:40</td>\r\n\t</tr><tr>\r\n\t\t<td
|
170
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
171
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:30, 14:40,
|
172
|
+
19:25</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
173
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(DIG)ZINNIA FLOWER (P)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
174
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
175
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">20:10</td>\r\n\t</tr><tr>\r\n\t\t<td
|
176
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
177
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">20:10</td>\r\n\t</tr><tr>\r\n\t\t<td
|
178
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
179
|
+
colspan=\"2\">(GC DIG)BRIDGE OF SPIES (P)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
180
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
181
|
+
valign=\"top\" colspan=\"1\">14:55, 23:25</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
182
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
183
|
+
valign=\"top\" colspan=\"1\">14:55, 23:25</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
184
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(GC DIG)CRIMSON PEAK (R)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
185
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
186
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">12:20, 17:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
187
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td
|
188
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">12:20, 17:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
189
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
190
|
+
colspan=\"2\">(GC DIG)SPECTRE (PG)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
191
|
+
valign=\"top\" colspan=\"1\">Nov 5 Thu</td><td class=\"PrintShowTimesSession\"
|
192
|
+
valign=\"top\" colspan=\"1\">10:50, 13:50, 16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
193
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 6 Fri</td><td
|
194
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:50, 13:50,
|
195
|
+
16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
196
|
+
valign=\"top\" colspan=\"1\">Nov 7 Sat</td><td class=\"PrintShowTimesSession\"
|
197
|
+
valign=\"top\" colspan=\"1\">10:50, 13:50, 16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
198
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 8 Sun</td><td
|
199
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:20, 13:20,
|
200
|
+
16:20, 19:20, 22:20</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
201
|
+
valign=\"top\" colspan=\"1\">Nov 9 Mon</td><td class=\"PrintShowTimesSession\"
|
202
|
+
valign=\"top\" colspan=\"1\">10:50, 13:50, 16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
203
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 10 Tue</td><td
|
204
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:50, 13:50,
|
205
|
+
16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
206
|
+
valign=\"top\" colspan=\"1\">Nov 11 Wed</td><td class=\"PrintShowTimesSession\"
|
207
|
+
valign=\"top\" colspan=\"1\">10:50, 13:50, 16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td
|
208
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Nov 12 Thu</td><td
|
209
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">10:50, 13:50,
|
210
|
+
16:50, 19:50, 22:50</td>\r\n\t</tr><tr>\r\n\t\t<td colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td
|
211
|
+
class=\"PrintShowTimesFilm\" colspan=\"2\">(GC DIG)THE LAST WITCH HUNTER (PG)</td>\r\n\t</tr><tr>\r\n\t\t<td
|
212
|
+
class=\"PrintShowTimesDay\" valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td
|
213
|
+
class=\"PrintShowTimesSession\" valign=\"top\" colspan=\"1\">13:50, 19:20,
|
214
|
+
21:40, 00:00</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\" valign=\"top\"
|
215
|
+
colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\" valign=\"top\"
|
216
|
+
colspan=\"1\">11:30, 13:50, 19:20, 21:40, 00:00</td>\r\n\t</tr><tr>\r\n\t\t<td
|
217
|
+
colspan=\"2\"></td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesFilm\"
|
218
|
+
colspan=\"2\">(GC DIG)THE MARTIAN (P)</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
219
|
+
valign=\"top\" colspan=\"1\">Oct 28 Wed</td><td class=\"PrintShowTimesSession\"
|
220
|
+
valign=\"top\" colspan=\"1\">16:15, 20:20</td>\r\n\t</tr><tr>\r\n\t\t<td class=\"PrintShowTimesDay\"
|
221
|
+
valign=\"top\" colspan=\"1\">Oct 29 Thu</td><td class=\"PrintShowTimesSession\"
|
222
|
+
valign=\"top\" colspan=\"1\">16:15, 20:20</td>\r\n\t</tr>\r\n</table>\r\n\t\t\t</form>\r\n\t</body>\r\n</HTML>\r\n"
|
223
|
+
http_version:
|
224
|
+
recorded_at: Wed, 28 Oct 2015 03:57:17 GMT
|
225
|
+
recorded_with: VCR 2.9.3
|