movies_client 0.0.1
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/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/data/PROG_GB_AOUT_2014.ods +0 -0
- data/data/PROG_GB_JUILLET_2014.ods +0 -0
- data/lib/movies_client.rb +338 -0
- data/lib/movies_client/attribute_helper.rb +11 -0
- data/lib/movies_client/movies_object.rb +71 -0
- data/lib/movies_client/version.rb +3 -0
- data/movies_client.gemspec +28 -0
- data/test/movies_client_test.rb +155 -0
- data/test/movies_object_test.rb +29 -0
- metadata +160 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OGVmZDEwNmJiOTFiZmZkNGU0YmNkOGE1YjUyZjZjYmM0YjFjZDQyNg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NjI2MWQyYThhZmIwMTZkMjRkMWE5YWYyY2M4YWFmN2ExY2MxMWYzOQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YTE0ZmZkMWFiZDY0Yzg0MDU0Yzg4MzhlOTExYTlmYjJiYTUyMTQ5NjVmYjI1
|
10
|
+
MmFlYmFiMjY0MTFlNjkyNWJkZTI1ZjhiZmE0MTI1ZGZhNTdhZjI3ZGM0Y2Yx
|
11
|
+
NzU5ZmVmNDIwMTg0NmZlMzliMDEzOThjNjhkODA1ZTgyODdhY2M=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NThmMTI5OWRjMTA3NGJjOGE5NzMxODhlYmFlYTQ4OGI4ZGI2NTVkMDkzZTA0
|
14
|
+
MzRkNzg5ZTU5MTc0YzhiYjcxZDgyMmFiYzk1Zjk3MTIyYjhmMDliMjk4YTAy
|
15
|
+
OWEzN2U0MWM0ZjQwNzQ4YjNlZjViYjc1NGE4Y2RhZDQ1N2M2OGY=
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 jeanbaptistevilain
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# MoviesClient
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'movies_client'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install movies_client
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
Binary file
|
Binary file
|
@@ -0,0 +1,338 @@
|
|
1
|
+
#ENCODING:UTF-8
|
2
|
+
require "movies_client/version"
|
3
|
+
require "roo"
|
4
|
+
require "spreadsheet"
|
5
|
+
require "themoviedb"
|
6
|
+
|
7
|
+
module MoviesClient
|
8
|
+
|
9
|
+
# defaults info
|
10
|
+
@config = { :prog => '../../data/PROG_GB_JUILLET_2014.ods',
|
11
|
+
:key => ''
|
12
|
+
}
|
13
|
+
|
14
|
+
#defaults key
|
15
|
+
key = '7f0b035c164b74d6eec69ebcd8ff8d12'
|
16
|
+
|
17
|
+
def self.configure_file_path(path)
|
18
|
+
@config[:prog] = path
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.configure_api_key(key)
|
22
|
+
@config[:key] = key
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.parse_ods
|
26
|
+
#open ods file with UTF_8 encoding option
|
27
|
+
s = Roo::OpenOffice.new(@config[:prog], ods_options: {encoding: Encoding::UTF_8})
|
28
|
+
|
29
|
+
@result = {}
|
30
|
+
@daily_schedule = {}
|
31
|
+
day = {}
|
32
|
+
lastrow = s.last_row
|
33
|
+
lastcolumn = s.last_column
|
34
|
+
y = 2
|
35
|
+
|
36
|
+
@result[:mois] = s.cell(1,3)
|
37
|
+
@result[:cinema1] = s.cell(1,2)
|
38
|
+
@result[:cinema2] = s.cell(1,5)
|
39
|
+
|
40
|
+
while y != lastrow do
|
41
|
+
x = 1
|
42
|
+
|
43
|
+
while x != lastcolumn+1 do
|
44
|
+
|
45
|
+
value = s.cell(y,x)
|
46
|
+
|
47
|
+
if s.cell(y, 3).nil?
|
48
|
+
key = s.cell(y-1, 3).gsub(/[^\d]/, '')
|
49
|
+
flag = true #second line of a date
|
50
|
+
else
|
51
|
+
key = s.cell(y, 3).gsub(/[^\d]/, '')
|
52
|
+
flag = false #first line of a date
|
53
|
+
end
|
54
|
+
|
55
|
+
if x == 1
|
56
|
+
if flag == false
|
57
|
+
day[:horaire1] = value
|
58
|
+
elsif flag == true
|
59
|
+
day[:horaire2] = value
|
60
|
+
end
|
61
|
+
end
|
62
|
+
if x == 2
|
63
|
+
if flag == false
|
64
|
+
day[:film1] = value
|
65
|
+
elsif flag == true
|
66
|
+
day[:film3] = value
|
67
|
+
end
|
68
|
+
end
|
69
|
+
if x == 3 and flag == false
|
70
|
+
day[:date] = value
|
71
|
+
end
|
72
|
+
if x == 5
|
73
|
+
if flag == false
|
74
|
+
day[:film2] = value
|
75
|
+
elsif flag == true
|
76
|
+
day[:film4] = value
|
77
|
+
end
|
78
|
+
end
|
79
|
+
x += 1
|
80
|
+
end
|
81
|
+
@daily_schedule.store( key, day)
|
82
|
+
if flag == true
|
83
|
+
day = {}
|
84
|
+
end
|
85
|
+
y +=1
|
86
|
+
end
|
87
|
+
@result.store( :daily_schedule, @daily_schedule)
|
88
|
+
@result
|
89
|
+
end
|
90
|
+
|
91
|
+
def self.parse_ods_with_day(date)
|
92
|
+
s = Roo::OpenOffice.new(@config[:prog], ods_options: {encoding: Encoding::UTF_8})
|
93
|
+
|
94
|
+
@result = {}
|
95
|
+
@daily_schedule = {}
|
96
|
+
day = {}
|
97
|
+
film = {}
|
98
|
+
lastrow = s.last_row
|
99
|
+
lastcolumn = s.last_column
|
100
|
+
y = 2 # Start on line 2 to avoid header
|
101
|
+
|
102
|
+
@result[:mois] = s.cell(1,3)
|
103
|
+
@result[:cinema1] = s.cell(1,2)
|
104
|
+
@result[:cinema2] = s.cell(1,5)
|
105
|
+
|
106
|
+
while y != lastrow do
|
107
|
+
x = 1
|
108
|
+
|
109
|
+
while x != lastcolumn+1 do
|
110
|
+
|
111
|
+
value = s.cell(y,x) #used for daily_schedule
|
112
|
+
value_from_cell = s.cell(y,x) # used for movie list
|
113
|
+
|
114
|
+
if s.cell(y, 3).nil?
|
115
|
+
key = s.cell(y-1, 3).gsub(/[^\d]/, '')
|
116
|
+
|
117
|
+
flagline = true # second line of a date
|
118
|
+
|
119
|
+
if key == date
|
120
|
+
flagdate = true # first line of the day researched'
|
121
|
+
else
|
122
|
+
flagdate = false # first line of a day not researched'
|
123
|
+
end
|
124
|
+
|
125
|
+
else
|
126
|
+
key = s.cell(y, 3).gsub(/[^\d]/, '')
|
127
|
+
flagline = false #first line of a date
|
128
|
+
|
129
|
+
if key == date
|
130
|
+
flagdate = true #second line of the day researched'
|
131
|
+
else
|
132
|
+
flagdate = false #second line of a day not researched'
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
if x == 2 or x == 5 and flagdate == true
|
138
|
+
unless film.has_key?(value_from_cell)
|
139
|
+
unless value_from_cell.nil?
|
140
|
+
if value_from_cell.include? ':'
|
141
|
+
value_from_cell.sub!(':', ' ')
|
142
|
+
end
|
143
|
+
if value_from_cell.include? "'"
|
144
|
+
value_from_cell.sub!("'", ' ')
|
145
|
+
end
|
146
|
+
if value_from_cell.include? ","
|
147
|
+
value_from_cell.sub!(",", '')
|
148
|
+
end
|
149
|
+
value_escaped = CGI::escape(value_from_cell)
|
150
|
+
film.store(value_from_cell,[value_escaped])
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
if x == 1 and flagdate == true
|
156
|
+
if flagline == false
|
157
|
+
day[:horaire1] = value
|
158
|
+
elsif flagline == true
|
159
|
+
day[:horaire2] = value
|
160
|
+
end
|
161
|
+
end
|
162
|
+
if x == 2 and flagdate == true
|
163
|
+
if flagline == false
|
164
|
+
day[:film1] = value
|
165
|
+
elsif flagline == true
|
166
|
+
day[:film3] = value
|
167
|
+
end
|
168
|
+
end
|
169
|
+
if x == 3 and flagline == false and flagdate == true
|
170
|
+
day[:date] = value
|
171
|
+
end
|
172
|
+
if x == 5 and flagdate == true
|
173
|
+
if flagline == false
|
174
|
+
day[:film2] = value
|
175
|
+
elsif flagline == true
|
176
|
+
day[:film4] = value
|
177
|
+
end
|
178
|
+
end
|
179
|
+
x += 1
|
180
|
+
end
|
181
|
+
unless day[:date].nil?
|
182
|
+
@daily_schedule.store( key, day)
|
183
|
+
end
|
184
|
+
if flagline == true
|
185
|
+
day = {}
|
186
|
+
end
|
187
|
+
y +=1
|
188
|
+
end
|
189
|
+
@result.store( :daily_schedule, @daily_schedule)
|
190
|
+
@result.store( :result, film)
|
191
|
+
@result
|
192
|
+
end
|
193
|
+
|
194
|
+
def self.get_movie
|
195
|
+
s = Roo::OpenOffice.new(@config[:prog], ods_options: {encoding: Encoding::UTF_8})
|
196
|
+
film = {}
|
197
|
+
lastrow = s.last_row
|
198
|
+
lastcolumn = s.last_column
|
199
|
+
y = 2
|
200
|
+
|
201
|
+
while y != lastrow do
|
202
|
+
x = 1
|
203
|
+
while x != lastcolumn+1 do
|
204
|
+
value_from_cell = s.cell(y,x)
|
205
|
+
|
206
|
+
if x == 2 or x == 5
|
207
|
+
unless film.has_key?(value_from_cell)
|
208
|
+
unless value_from_cell.nil?
|
209
|
+
if value_from_cell.include? ':'
|
210
|
+
value_from_cell.sub!(':', ' ')
|
211
|
+
end
|
212
|
+
if value_from_cell.include? "'"
|
213
|
+
value_from_cell.sub!("'", ' ')
|
214
|
+
end
|
215
|
+
if value_from_cell.include? ","
|
216
|
+
value_from_cell.sub!(",", '')
|
217
|
+
end
|
218
|
+
value = CGI::escape(value_from_cell)
|
219
|
+
film.store(value_from_cell,[value])
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
223
|
+
x += 1
|
224
|
+
end
|
225
|
+
y += 1
|
226
|
+
end
|
227
|
+
film
|
228
|
+
end
|
229
|
+
|
230
|
+
def self.get_movie_details(id)
|
231
|
+
Tmdb::Api.key(@config[:key])
|
232
|
+
Tmdb::Api.language("fr")
|
233
|
+
movie = Tmdb::Movie.detail(id)
|
234
|
+
movie
|
235
|
+
end
|
236
|
+
|
237
|
+
def self.get_id_from_title(title)
|
238
|
+
Tmdb::Api.key(@config[:key])
|
239
|
+
Tmdb::Api.language("fr")
|
240
|
+
@search = Tmdb::Search.new
|
241
|
+
@search.resource('movie')
|
242
|
+
@search.query(title)
|
243
|
+
@movie = @search.fetch
|
244
|
+
if @movie.nil?
|
245
|
+
puts title
|
246
|
+
else
|
247
|
+
@movie[0][:id]
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
def self.get_movie_casts(id)
|
252
|
+
Tmdb::Api.key(@config[:key])
|
253
|
+
Tmdb::Api.language("fr")
|
254
|
+
@casts = Tmdb::Movie.casts(id)
|
255
|
+
@casting = {}
|
256
|
+
actor = {}
|
257
|
+
i = 0
|
258
|
+
if @casts.nil?
|
259
|
+
actor = 'casting non disponible'
|
260
|
+
@casting = actor
|
261
|
+
else
|
262
|
+
while i < 3
|
263
|
+
unless @casts[i].nil?
|
264
|
+
actor[:role] = @casts[i]["character"]
|
265
|
+
actor[:name] = @casts[i]["name"]
|
266
|
+
end
|
267
|
+
@casting.store(i, actor)
|
268
|
+
actor = {}
|
269
|
+
i += 1
|
270
|
+
end
|
271
|
+
end
|
272
|
+
@casting
|
273
|
+
end
|
274
|
+
|
275
|
+
def self.get_movie_info_from_list(list, size)
|
276
|
+
result = {}
|
277
|
+
@listresult = {}
|
278
|
+
list.each_pair do |k, v|
|
279
|
+
id = MoviesClient.get_id_from_title(v)
|
280
|
+
movie = MoviesClient.get_movie_details(id)
|
281
|
+
casting = MoviesClient.get_movie_casts(id)
|
282
|
+
result[:id] = id
|
283
|
+
result[:title] = movie.title
|
284
|
+
result[:title_list] = k
|
285
|
+
result[:synopsis] = movie.overview
|
286
|
+
unless movie.genres.nil?
|
287
|
+
result[:genre] = movie.genres.collect { |g| g[:name] }
|
288
|
+
end
|
289
|
+
unless movie.poster_path.nil?
|
290
|
+
result[:poster] = 'http://image.tmdb.org/t/p/'+size+'/'+movie.poster_path
|
291
|
+
end
|
292
|
+
result[:casting] = casting
|
293
|
+
@listresult.store(k, result)
|
294
|
+
result = {}
|
295
|
+
end
|
296
|
+
@listresult
|
297
|
+
end
|
298
|
+
|
299
|
+
def self.assemble_prog_with_info(prog,info)
|
300
|
+
prog.store(:result, info)
|
301
|
+
prog
|
302
|
+
end
|
303
|
+
|
304
|
+
def self.get_info(path, key, size)
|
305
|
+
#Configure file path
|
306
|
+
MoviesClient.configure_file_path(path)
|
307
|
+
#Configure api key
|
308
|
+
MoviesClient.configure_api_key(key)
|
309
|
+
#Parse the whole ods file
|
310
|
+
@programme = MoviesClient.parse_ods
|
311
|
+
#Get the movie list
|
312
|
+
movie_list = MoviesClient.get_movie
|
313
|
+
#Get the movie information from the list
|
314
|
+
@movie_info = MoviesClient.get_movie_info_from_list(movie_list, size)
|
315
|
+
#Assemble programme with movie information
|
316
|
+
@result = MoviesClient.assemble_prog_with_info(@programme, @movie_info)
|
317
|
+
#Return a CinemaObject
|
318
|
+
@cinema_object = MoviesObject.new(@result)
|
319
|
+
@cinema_object
|
320
|
+
end
|
321
|
+
|
322
|
+
def self.select_daily_program(path, key, size, date)
|
323
|
+
#Configure file path
|
324
|
+
MoviesClient.configure_file_path(path)
|
325
|
+
#Configure api key
|
326
|
+
MoviesClient.configure_api_key(key)
|
327
|
+
#Parse the ods file in function of the parameter day and nb of day
|
328
|
+
@result = MoviesClient.parse_ods_with_day(date)
|
329
|
+
#Get the movie information from the list
|
330
|
+
@movie_info = MoviesClient.get_movie_info_from_list(@result[:result], size)
|
331
|
+
#Assemble programme with movie information
|
332
|
+
@result = MoviesClient.assemble_prog_with_info(@result, @movie_info)
|
333
|
+
#Return a CinemaObject
|
334
|
+
@cinema_object = MoviesObject.new(@result)
|
335
|
+
@cinema_object
|
336
|
+
end
|
337
|
+
|
338
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'movies_client/attribute_helper'
|
2
|
+
|
3
|
+
class MoviesObject
|
4
|
+
|
5
|
+
include AttributeHelper
|
6
|
+
|
7
|
+
def initialize(hash)
|
8
|
+
self.attributes = hash
|
9
|
+
end
|
10
|
+
|
11
|
+
def mois
|
12
|
+
@mois
|
13
|
+
end
|
14
|
+
|
15
|
+
def cine1
|
16
|
+
@cinema1
|
17
|
+
end
|
18
|
+
|
19
|
+
def cine2
|
20
|
+
@cinema2
|
21
|
+
end
|
22
|
+
|
23
|
+
def date(day)
|
24
|
+
@daily_schedule[day.to_s][:date]
|
25
|
+
end
|
26
|
+
|
27
|
+
def film1(day)
|
28
|
+
@daily_schedule[day.to_s][:film1]
|
29
|
+
end
|
30
|
+
|
31
|
+
def film2(day)
|
32
|
+
@daily_schedule[day.to_s][:film2]
|
33
|
+
end
|
34
|
+
|
35
|
+
def film3(day)
|
36
|
+
@daily_schedule[day.to_s][:film3]
|
37
|
+
end
|
38
|
+
|
39
|
+
def film4(day)
|
40
|
+
@daily_schedule[day.to_s][:film4]
|
41
|
+
end
|
42
|
+
|
43
|
+
def horaire1(day)
|
44
|
+
@daily_schedule[day.to_s][:horaire1]
|
45
|
+
end
|
46
|
+
|
47
|
+
def horaire2(day)
|
48
|
+
@daily_schedule[day.to_s][:horaire2]
|
49
|
+
end
|
50
|
+
|
51
|
+
def id(movie)
|
52
|
+
@result[movie.to_s][:id].to_s
|
53
|
+
end
|
54
|
+
|
55
|
+
def poster(movie)
|
56
|
+
@result[movie.to_s][:poster]
|
57
|
+
end
|
58
|
+
|
59
|
+
def title(movie)
|
60
|
+
@result[movie.to_s][:title]
|
61
|
+
end
|
62
|
+
|
63
|
+
def title_list(movie)
|
64
|
+
@result[movie.to_s][:title_list]
|
65
|
+
end
|
66
|
+
|
67
|
+
def overview(movie)
|
68
|
+
@result[movie.to_s][:synopsis]
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'movies_client/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "movies_client"
|
8
|
+
spec.version = MoviesClient::VERSION
|
9
|
+
spec.authors = ["jeanbaptistevilain","SimonRonzani"]
|
10
|
+
spec.email = ["jbvilain@gmail.com","ronzani.simon@gmail.com"]
|
11
|
+
spec.description = "specific parser for cinema and showtimes information"
|
12
|
+
spec.summary = "Parse ods file with roo, get information about movie from the TMDB API"
|
13
|
+
spec.homepage = "https://github.com/jeanbaptistevilain/movies_client"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "test-unit"
|
24
|
+
spec.add_development_dependency "shoulda"
|
25
|
+
spec.add_development_dependency "roo"
|
26
|
+
spec.add_development_dependency "spreadsheet", "1.0.0"
|
27
|
+
spec.add_development_dependency "themoviedb"
|
28
|
+
end
|
@@ -0,0 +1,155 @@
|
|
1
|
+
#ENCODING:UTF-8
|
2
|
+
require "rubygems"
|
3
|
+
gem "shoulda"
|
4
|
+
require "test/unit"
|
5
|
+
require "shoulda"
|
6
|
+
require "movies_client"
|
7
|
+
require "movies_client/movies_object"
|
8
|
+
|
9
|
+
class MoviesClientTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
should 'change ods file' do
|
12
|
+
path = MoviesClient.configure_file_path('http://test/url.com')
|
13
|
+
|
14
|
+
assert_equal 'http://test/url.com', path
|
15
|
+
end
|
16
|
+
|
17
|
+
should 'change api key' do
|
18
|
+
key = MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
19
|
+
|
20
|
+
assert_equal '7f0b035c164b74d6eec69ebcd8ff8d12', key
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'parse ods file ' do
|
24
|
+
result_expected = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}, "6"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"DIM 6", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21H", :film3=>"DE TOUTES NOS FORCES", :film4=>"SOUS LES JUPES DES FILLES"}, "7"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"LUN 7", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"DE TOUTES NOS FORCES"}, "8"=>{:horaire1=>"17h30", :film1=>"BARBECUE", :date=>"MAR 8", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21H", :film3=>"BABYSITTING", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "9"=>{:horaire1=>"17h30", :film1=>"LA LISTE DE MES ENVIES", :date=>"MER 9", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"MALEFIQUE", :film4=>"BARBECUE"}, "10"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"JEU 10", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "11"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"VEN 11", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"DEUX JOURS, UNE NUIT"}, "12"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"SAM 12", :film2=>"BABYSITTING", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "13"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"DIM 13 ", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>nil, :film3=>nil, :film4=>nil}, "14"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"LUN 14", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"LA LISTE DE MES ENVIES", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "15"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MAR 15", :film2=>"LA RITOURNELLE", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "16"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"MER 16", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"SOUS LES JUPES DES FILLES"}, "17"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"JEU 17", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "18"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"VEN 18", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "19"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"SAM 19", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "20"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"DIM 20", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "21"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"LUN 21", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "22"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"MAR 22", :film2=>"RIO 2", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"TRANSCENDANCE"}, "23"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"MER 23", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"LA RITOURNELLE"}, "24"=>{:horaire1=>"17h30", :film1=>"DE TOUTES NOS FORCES", :date=>"JEU 24", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "25"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"VEN 25", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "26"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"SAM 26", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "27"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"DIM 27", :film2=>"PLANES 2", :horaire2=>"21 H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "28"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"LUN 28", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "29"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"MAR 29", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "30"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MER 30", :film2=>"DE TOUTES NOS FORCES", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "31"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"JEU 31", :film2=>"DRAGONS 2"}}}
|
25
|
+
|
26
|
+
MoviesClient.configure_file_path('../../data/PROG_GB_JUILLET_2014.ods')
|
27
|
+
@result = MoviesClient.parse_ods
|
28
|
+
puts @result
|
29
|
+
assert_equal result_expected , @result
|
30
|
+
assert_equal 'JUILLET' , @result[:mois]
|
31
|
+
assert_equal 'LES RHODOS VILLAGE' , @result[:cinema1]
|
32
|
+
assert_equal 'LE CHARMIEUX CHINAILLON' , @result[:cinema2]
|
33
|
+
assert_equal 'SAM 5' , @result[:daily_schedule]["5"][:date]
|
34
|
+
assert_equal '17h30' , @result[:daily_schedule]["5"][:horaire1]
|
35
|
+
assert_equal '21H' , @result[:daily_schedule]["5"][:horaire2]
|
36
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @result[:daily_schedule]["5"][:film1]
|
37
|
+
assert_equal 'BABYSITTING' , @result[:daily_schedule]["5"][:film2]
|
38
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @result[:daily_schedule]["5"][:film3]
|
39
|
+
assert_equal 'BABYSITTING' , @result[:daily_schedule]["5"][:film4]
|
40
|
+
end
|
41
|
+
|
42
|
+
should 'parse ods file with day information ' do
|
43
|
+
result_expected = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}}, :result=>{"SOUS LES JUPES DES FILLES"=>["SOUS+LES+JUPES+DES+FILLES"], "BABYSITTING"=>["BABYSITTING"]}}
|
44
|
+
|
45
|
+
MoviesClient.configure_file_path('../../data/PROG_GB_JUILLET_2014.ods')
|
46
|
+
@result = MoviesClient.parse_ods_with_day('5')
|
47
|
+
puts @result
|
48
|
+
assert_equal result_expected , @result
|
49
|
+
assert_equal 'JUILLET' , @result[:mois]
|
50
|
+
assert_equal 'LES RHODOS VILLAGE' , @result[:cinema1]
|
51
|
+
assert_equal 'LE CHARMIEUX CHINAILLON' , @result[:cinema2]
|
52
|
+
assert_equal 'SAM 5' , @result[:daily_schedule]["5"][:date]
|
53
|
+
assert_equal '17h30' , @result[:daily_schedule]["5"][:horaire1]
|
54
|
+
assert_equal '21H' , @result[:daily_schedule]["5"][:horaire2]
|
55
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @result[:daily_schedule]["5"][:film1]
|
56
|
+
assert_equal 'BABYSITTING' , @result[:daily_schedule]["5"][:film2]
|
57
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @result[:daily_schedule]["5"][:film3]
|
58
|
+
assert_equal 'BABYSITTING' , @result[:daily_schedule]["5"][:film4]
|
59
|
+
end
|
60
|
+
|
61
|
+
should 'get movie list' do
|
62
|
+
result_expected = {"SOUS LES JUPES DES FILLES"=>["SOUS+LES+JUPES+DES+FILLES"], "BABYSITTING"=>["BABYSITTING"], "DEUX JOURS UNE NUIT"=>["DEUX+JOURS+UNE+NUIT"], "DE TOUTES NOS FORCES"=>["DE+TOUTES+NOS+FORCES"], "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>["QU+EST+CE+QU%27ON+A+FAIT+AU+BON+DIEU%C2%A0%3F"], "RIO 2"=>["RIO+2"], "BARBECUE"=>["BARBECUE"], "LA LISTE DE MES ENVIES"=>["LA+LISTE+DE+MES+ENVIES"], "DRAGONS 2"=>["DRAGONS+2"], "MALEFIQUE"=>["MALEFIQUE"], "ON A FAILLI \u00CATRE AMIES"=>["ON+A+FAILLI+%C3%8ATRE+AMIES"], "LA RITOURNELLE"=>["LA+RITOURNELLE"], "LES VACANCES DU PETIT NICOLAS"=>["LES+VACANCES+DU+PETIT+NICOLAS"], "TRANSFORMERS L AGE DE L'EXTINCTION"=>["TRANSFORMERS+L+AGE+DE+L%27EXTINCTION"], "TRANSCENDANCE"=>["TRANSCENDANCE"], "PLANES 2"=>["PLANES+2"]}
|
63
|
+
MoviesClient.configure_file_path('../../data/PROG_GB_JUILLET_2014.ods')
|
64
|
+
movielist = MoviesClient.get_movie
|
65
|
+
|
66
|
+
assert_equal result_expected , movielist
|
67
|
+
end
|
68
|
+
|
69
|
+
should 'get information about a movie' do
|
70
|
+
result = "Le narrateur, sans identité précise, vit seul, travaille seul, dort seul, mange seul ses plateaux-repas pour une personne comme beaucoup d'autres personnes seules qui connaissent la misère humaine, morale et sexuelle. Mais un jour il fait la rencontre de Tyler Durden, une sorte d'anarchiste entre gourou et philosophe qui prêche l'amour de son prochain. Ensemble ils vont créer le Fight club, un lieu clandestin ou l'on peut retrouver sa virilité, l'échange et la communication."
|
71
|
+
|
72
|
+
MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
73
|
+
movie = MoviesClient.get_movie_details(550)
|
74
|
+
|
75
|
+
assert_equal 'Fight Club', movie.title
|
76
|
+
assert_equal result, movie.overview
|
77
|
+
end
|
78
|
+
|
79
|
+
should 'get id from title' do
|
80
|
+
MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
81
|
+
@movie = MoviesClient.get_id_from_title('SOUS LES JUPES DES FILLES')
|
82
|
+
|
83
|
+
assert_equal 273169, @movie
|
84
|
+
end
|
85
|
+
|
86
|
+
should 'get the casting of a movie from his id' do
|
87
|
+
MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
88
|
+
@cast = MoviesClient.get_movie_casts(550)
|
89
|
+
|
90
|
+
assert_equal 'Edward Norton', @cast[0][:name]
|
91
|
+
assert_equal 'The Narrator', @cast[0][:role]
|
92
|
+
assert_equal 'Brad Pitt', @cast[1][:name]
|
93
|
+
assert_equal 'Tyler Durden', @cast[1][:role]
|
94
|
+
end
|
95
|
+
|
96
|
+
should 'get information about movie from the list' do
|
97
|
+
list = {"SOUS LES JUPES DES FILLES"=>["SOUS+LES+JUPES+DES+FILLES"], "BABYSITTING"=>["BABYSITTING"], "DEUX JOURS UNE NUIT"=>["DEUX+JOURS+UNE+NUIT"], "DE TOUTES NOS FORCES"=>["DE+TOUTES+NOS+FORCES"], "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>["QU+EST+CE+QU%27ON+A+FAIT+AU+BON+DIEU%C2%A0%3F"], "RIO 2"=>["RIO+2"], "BARBECUE"=>["BARBECUE"], "LA LISTE DE MES ENVIES"=>["LA+LISTE+DE+MES+ENVIES"], "DRAGONS 2"=>["DRAGONS+2"], "MALEFIQUE"=>["MALEFIQUE"], "ON A FAILLI \u00CATRE AMIES"=>["ON+A+FAILLI+%C3%8ATRE+AMIES"], "LA RITOURNELLE"=>["LA+RITOURNELLE"], "LES VACANCES DU PETIT NICOLAS"=>["LES+VACANCES+DU+PETIT+NICOLAS"], "TRANSFORMERS L AGE DE L'EXTINCTION"=>["TRANSFORMERS+L+AGE+DE+L%27EXTINCTION"], "TRANSCENDANCE"=>["TRANSCENDANCE"], "PLANES 2"=>["PLANES+2"]}
|
98
|
+
|
99
|
+
MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
100
|
+
@movie_info = MoviesClient.get_movie_info_from_list(list, 'w500')
|
101
|
+
puts @movie_info
|
102
|
+
assert_equal 273169, @movie_info["SOUS LES JUPES DES FILLES"][:id]
|
103
|
+
assert_equal 'Sous les jupes des filles', @movie_info["SOUS LES JUPES DES FILLES"][:title]
|
104
|
+
assert_equal 'SOUS LES JUPES DES FILLES', @movie_info["SOUS LES JUPES DES FILLES"][:title_list]
|
105
|
+
assert_equal "Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !", @movie_info["SOUS LES JUPES DES FILLES"][:synopsis]
|
106
|
+
assert_equal 'http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg', @movie_info["SOUS LES JUPES DES FILLES"][:poster]
|
107
|
+
assert_equal 'Comédie', @movie_info["SOUS LES JUPES DES FILLES"][:genre][0]
|
108
|
+
assert_equal 'Isabelle Adjani', @movie_info["SOUS LES JUPES DES FILLES"][:casting][0][:name]
|
109
|
+
end
|
110
|
+
|
111
|
+
should 'assemble cinema programme with movie information' do
|
112
|
+
result_expected = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}, "6"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"DIM 6", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21H", :film3=>"DE TOUTES NOS FORCES", :film4=>"SOUS LES JUPES DES FILLES"}, "7"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"LUN 7", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"DE TOUTES NOS FORCES"}, "8"=>{:horaire1=>"17h30", :film1=>"BARBECUE", :date=>"MAR 8", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21H", :film3=>"BABYSITTING", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "9"=>{:horaire1=>"17h30", :film1=>"LA LISTE DE MES ENVIES", :date=>"MER 9", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"MALEFIQUE", :film4=>"BARBECUE"}, "10"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"JEU 10", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "11"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"VEN 11", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"DEUX JOURS, UNE NUIT"}, "12"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"SAM 12", :film2=>"BABYSITTING", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "13"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"DIM 13 ", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>nil, :film3=>nil, :film4=>nil}, "14"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"LUN 14", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"LA LISTE DE MES ENVIES", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "15"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MAR 15", :film2=>"LA RITOURNELLE", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "16"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"MER 16", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"SOUS LES JUPES DES FILLES"}, "17"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"JEU 17", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "18"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"VEN 18", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "19"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"SAM 19", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "20"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"DIM 20", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "21"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"LUN 21", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "22"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"MAR 22", :film2=>"RIO 2", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"TRANSCENDANCE"}, "23"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"MER 23", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"LA RITOURNELLE"}, "24"=>{:horaire1=>"17h30", :film1=>"DE TOUTES NOS FORCES", :date=>"JEU 24", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "25"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"VEN 25", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "26"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"SAM 26", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "27"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"DIM 27", :film2=>"PLANES 2", :horaire2=>"21 H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "28"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"LUN 28", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "29"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"MAR 29", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "30"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MER 30", :film2=>"DE TOUTES NOS FORCES", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "31"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"JEU 31", :film2=>"DRAGONS 2"}}, :result=>{"SOUS LES JUPES DES FILLES"=>{:id=>273169, :title=>"Sous les jupes des filles", :title_list=>"SOUS LES JUPES DES FILLES", :synopsis=>"Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg", :casting=>{0=>{:role=>"Lily", :name=>"Isabelle Adjani"}, 1=>{:role=>"Adeline", :name=>"Alice Bela\u00EFdi"}, 2=>{:role=>"Agathe", :name=>"Laetitia Casta"}}}, "BABYSITTING"=>{:id=>262551, :title=>"Babysitting", :title_list=>"BABYSITTING", :synopsis=>"Faute de baby-sitter pour le week-end, Marc Schaudel confie son fils Remy \u00E0 Franck, son employ\u00E9, \"un type s\u00E9rieux\" selon lui. Sauf que Franck a 30 ans ce soir et que R\u00E9my est un sale gosse capricieux. Au petit matin, Marc et sa femme Claire sont r\u00E9veill\u00E9s par un appel de la police. R\u00E9my et Franck ont disparu ! Au milieu de leur maison saccag\u00E9e, la police a retrouv\u00E9 une cam\u00E9ra. Marc et Claire d\u00E9couvrent hallucin\u00E9s les images tourn\u00E9es pendant la soir\u00E9e.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//q2t1UVpyf8K7cAqyBz7Nl91gNl9.jpg", :casting=>{0=>{:role=>"Franck", :name=>"Philippe Lacheau"}, 1=>{:role=>"Sonia", :name=>"Alice David"}, 2=>{:role=>"Ernest", :name=>"Vincent Desagnat"}}}, "DEUX JOURS UNE NUIT"=>{:id=>221902, :title=>"Deux jours, une nuit", :title_list=>"DEUX JOURS UNE NUIT", :synopsis=>"Sandra, aid\u00E9e par son mari, n\u2019a qu\u2019un week-end pour aller voir ses coll\u00E8gues et les convaincre de renoncer \u00E0 leur prime pour qu\u2019elle puisse garder son travail.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//iFzsuRqrt3qNBiwacZxHZdH481I.jpg", :casting=>{0=>{:role=>"Sandra", :name=>"Marion Cotillard"}, 1=>{:role=>"", :name=>"Fabrizio Rongione"}, 2=>{:role=>"", :name=>"Olivier Gourmet"}}}, "DE TOUTES NOS FORCES"=>{:id=>214087, :title=>"De toutes nos forces", :title_list=>"DE TOUTES NOS FORCES", :synopsis=>"Comme tous les adolescents, Julien r\u00EAve d\u2019aventures et de sensations fortes. Mais lorsqu\u2019on vit dans un fauteuil roulant, ces r\u00EAves-l\u00E0 sont difficilement r\u00E9alisables. Pour y parvenir, il met au d\u00E9fi son p\u00E8re de concourir avec lui au triathlon \u00AB Ironman \u00BB de Nice: une des \u00E9preuves sportives les plus difficiles qui soit. Autour d\u2019eux, c\u2019est toute une famille qui va se reconstruire pour tenter d\u2019aller au bout de cet incroyable exploit.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//mv5oZmfGE1MLPNFo8Q0xe7z6cZX.jpg", :casting=>{0=>{:role=>"Paul Amblard", :name=>"Jacques Gamblin"}, 1=>{:role=>"Claire Amblard", :name=>"Alexandra Lamy"}, 2=>{:role=>"Julien Amblard", :name=>"Fabien H\u00E9raud"}}}, "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>{:id=>262391, :title=>"Qu'est-ce qu'on a fait au Bon Dieu", :title_list=>"QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :synopsis=>"Claude et Marie Verneuil, issus de la grande bourgeoisie catholique provinciale sont des parents plut\u00F4t \"vieille France\". Mais ils se sont toujours oblig\u00E9s \u00E0 faire preuve d'ouverture d'esprit...Les pilules furent cependant bien difficiles \u00E0 avaler quand leur premi\u00E8re fille \u00E9pousa un musulman, leur seconde un juif et leur troisi\u00E8me un chinois. Leurs espoirs de voir enfin l'une d'elles se marier \u00E0 l'\u00E9glise se cristallisent donc sur la cadette, qui, all\u00E9luia, vient de rencontrer un bon catholique.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//uUiyiGtMKSmTQyQ2j8hIwi4ah9W.jpg", :casting=>{0=>{:role=>"Claude Verneuil", :name=>"Christian Clavier"}, 1=>{:role=>"Marie Verneuil", :name=>"Chantal Lauby"}, 2=>{:role=>"David Benichou", :name=>"Ary Abittan"}}}, "RIO 2"=>{:id=>172385, :title=>"Rio 2", :title_list=>"RIO 2", :synopsis=>"Blu a pris son envol et se sent d\u00E9sormais chez lui \u00E0 Rio de Janeiro, aux c\u00F4t\u00E9s de Perla et de leurs trois enfants. Mais la vie de perroquet ne s\u2019apprend pas en ville et Perla insiste pour que la famille s\u2019installe dans la for\u00EAt amazonienne. Alors que Blu essaie de s\u2019habituer \u00E0 ses nouveaux voisins, il s\u2019inqui\u00E8te de voir Perla et ses enfants beaucoup plus r\u00E9ceptifs \u00E0 l\u2019appel de la jungle.", :genre=>["Animation", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//w8alkJlkAaekbxsAani7qccE61P.jpg", :casting=>{0=>{:role=>"Blu (voice)", :name=>"Jesse Eisenberg"}, 1=>{:role=>"Jewel (voice)", :name=>"Anne Hathaway"}, 2=>{:role=>"Linda (voice)", :name=>"Leslie Mann"}}}, "BARBECUE"=>{:id=>250349, :title=>"Barbecue", :title_list=>"BARBECUE", :synopsis=>"Pour ses 50 ans, Antoine a re\u00E7u un cadeau original : un infarctus. A partir de maintenant, il va devoir \u00ABfaire attention\u00BB. Or, Antoine a pass\u00E9 sa vie enti\u00E8re \u00E0 faire attention : attention \u00E0 sa sant\u00E9, \u00E0 ce qu'il mangeait, attention \u00E0 sa famille, \u00E0 accepter les travers de ses amis, et \u00E0 avaler de trop nombreuses couleuvres\u2026 D\u00E9sormais, il va adopter un nouveau r\u00E9gime. Mais en voulant changer sa vie, on change forc\u00E9ment celle des autres", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//20ZniTaQ4tIQJQOfWZ4bpps8jmx.jpg", :casting=>{0=>{:role=>"Antoine", :name=>"Lambert Wilson"}, 1=>{:role=>"Baptiste", :name=>"Franck Dubosc"}, 2=>{:role=>"Olivia", :name=>"Florence Foresti"}}}, "LA LISTE DE MES ENVIES"=>{:id=>277230, :title=>"La Liste de mes envies", :title_list=>"LA LISTE DE MES ENVIES", :synopsis=>"Lorsque la petite merci\u00E8re d\u2019Arras d\u00E9couvre qu\u2019elle a gagn\u00E9 18 millions \u00E0 la loterie et qu\u2019elle peut d\u00E9sormais s\u2019offrir tout ce qu\u2019elle veut, elle n\u2019a qu\u2019une crainte : perdre cette vie modeste faite de bonheurs simples qu\u2019elle ch\u00E9rit par-dessus tout. Mais le destin est obstin\u00E9, et c\u2019est en renon\u00E7ant trop longtemps \u00E0 cette bonne fortune qu\u2019elle va d\u00E9clencher, bien malgr\u00E9 elle, un ouragan qui va tout changer. Tout, sauf elle.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//vfAgOQDgJLVAdi7rVuERl1XmeXR.jpg", :casting=>{0=>{:role=>"Jocelyne Guerbette", :name=>"Mathilde Seigner"}, 1=>{:role=>"Jo Guerbette", :name=>"Marc Lavoine"}, 2=>{:role=>"Danielle 2", :name=>"Fr\u00E9d\u00E9rique Bel"}}}, "DRAGONS 2"=>{:id=>82702, :title=>"Dragons 2", :title_list=>"DRAGONS 2", :synopsis=>"Tandis qu\u2019Astrid, Rustik et le reste de la bande se d\u00E9fient durant des courses sportives de dragons devenues populaires sur l\u2019\u00EEle, notre duo d\u00E9sormais ins\u00E9parable parcourt les cieux, \u00E0 la d\u00E9couverte de territoires inconnus et de nouveaux mondes. Au cours de l\u2019une de leurs aventures, ils d\u00E9couvrent une grotte secr\u00E8te qui abrite des centaines de dragons sauvages, dont le myst\u00E9rieux Dragon Rider. Les deux amis se retrouvent alors au centre d\u2019une lutte visant \u00E0 maintenir la paix. Harold et Krokmou vont se battre pour d\u00E9fendre leurs valeurs et pr\u00E9server le destin des hommes et des dragons.", :genre=>["Action", "Aventure", "Animation", "Com\u00E9die", "Fantastique", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//ePUTpNWfcmYnuznobGdZC27UnrT.jpg", :casting=>{0=>{:role=>"Hiccup (voice)", :name=>"Jay Baruchel"}, 1=>{:role=>"Stoick the Vast (voice)", :name=>"Gerard Butler"}, 2=>{:role=>"Ruffnut (voice)", :name=>"Kristen Wiig"}}}, "MALEFIQUE"=>{:id=>46025, :title=>"Mal\u00E9fique", :title_list=>"MALEFIQUE", :synopsis=>"Quatre d\u00E9tenus partagent la m\u00EAme cellule. Ils d\u00E9couvrent un jour, derri\u00E8re une pierre descell\u00E9e, le journal d'un prisonnier enferm\u00E9 au d\u00E9but du si\u00E8cle. Ce recueil contient des formules magiques qui permettraient de s'\u00E9vader. Mais apr\u00E8s cette trouvaille, des ph\u00E9nom\u00E8nes \u00E9tranges se produisent...", :genre=>["Fantastique", "Horreur", "Myst\u00E8re"], :poster=>"http://image.tmdb.org/t/p/w500//1NcVLHqP4hyujCFTxnIiIDFmJ7C.jpg", :casting=>{0=>{:role=>"Carr\u00E8re", :name=>"G\u00E9rald Laroche"}, 1=>{:role=>"Lassalle", :name=>"Philippe Laudenbach"}, 2=>{:role=>"Marcus", :name=>"Clovis Cornillac"}}}, "ON A FAILLI \u00CATRE AMIES"=>{:id=>270342, :title=>"On a failli \u00EAtre amies", :title_list=>"ON A FAILLI \u00CATRE AMIES", :synopsis=>"Marith\u00E9 se voue \u00E0 son travail de formatrice avec ardeur. Elle souhaite que ses stagiaires sortent de formation en ayant d\u00E9couvert leur voie. Avec Carole, une \u00E9pouse d\u00E9vou\u00E9e, sa mission va aller au-del\u00E0 puisque celle-ci, prenant conscience de ses possibilit\u00E9s, quitte son mari. Une relation amoureuse s'installe entre les deux femmes.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//9ovCeQznt4ZLxL1zICSrx9crOLz.jpg", :casting=>{0=>{:role=>"Marith\u00E9", :name=>"Karin Viard"}, 1=>{:role=>"Carole Drissi", :name=>"Emmanuelle Devos"}, 2=>{:role=>"Sam Drissi", :name=>"Roschdy Zem"}}}, "LA RITOURNELLE"=>{:id=>258435, :title=>"La Ritournelle", :title_list=>"LA RITOURNELLE", :synopsis=>"Brigitte et Xavier sont \u00E9leveurs bovins en Normandie. Elle est r\u00EAveuse, la t\u00EAte dans les \u00E9toiles. Lui, les pieds ancr\u00E9s dans la terre, vit surtout pour son m\u00E9tier. Avec le d\u00E9part des enfants, la routine de leur couple p\u00E8se de plus en plus \u00E0 Brigitte. Un jour, sur un coup de folie, elle prend la clef des champs. Destination : Paris. Xavier r\u00E9alise alors qu\u2019il est peut-\u00EAtre en train de la perdre. Parviendront-ils \u00E0 se retrouver ? Et comment se r\u00E9inventer, apr\u00E8s toutes ces ann\u00E9es ? La reconqu\u00EAte emprunte parfois des chemins de traverse...", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//jeoslytSa0tjS9KqePB9VqJnNhq.jpg", :casting=>{0=>{:role=>"Brigitte Lecanu", :name=>"Isabelle Huppert"}, 1=>{:role=>"Xavier Lecanu", :name=>"Jean-Pierre Darroussin"}, 2=>{:role=>"Jesper", :name=>"Michael Nyqvist"}}}, "LES VACANCES DU PETIT NICOLAS"=>{:id=>277368, :title=>"Les vacances du petit Nicolas", :title_list=>"LES VACANCES DU PETIT NICOLAS", :synopsis=>"C\u2019est la fin de l\u2019ann\u00E9e scolaire. Le moment tant attendu des vacances est arriv\u00E9.Le petit Nicolas, ses parents et M\u00E9m\u00E9 prennent la route en direction de la mer, et s\u2019installent pour quelques temps \u00E0 l\u2019H\u00F4tel Beau-Rivage.", :genre=>["Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//vBJQc8gZh5WOxyDxFIAU1SruKY8.jpg", :casting=>{0=>{:role=>"Le petit Nicolas", :name=>"Math\u00E9o Boisselier"}, 1=>{:role=>"La m\u00E8re de Nicolas", :name=>"Val\u00E9rie Lemercier"}, 2=>{:role=>"Le p\u00E8re de Nicolas", :name=>"Kad Merad"}}}, "TRANSFORMERS L AGE DE L'EXTINCTION"=>{:id=>91314, :title=>"Transformers : L'\u00C2ge de l'Extinction", :title_list=>"TRANSFORMERS L AGE DE L'EXTINCTION", :synopsis=>"Alors que l\u2019humanit\u00E9 panse ses plaies, apr\u00E8s les \u00E9v\u00E9nements de Transformers : La Face cach\u00E9e de la Lune, les Autobots et les Decepticons ont disparu de la surface de la Terre. Mais un groupe form\u00E9 de financiers et scientifiques puissants et ing\u00E9nieux \u00E9tudient les invasions successives des Transformers, afin de repousser les limites de la technologie au-del\u00E0 de ce qu\u2019ils peuvent contr\u00F4ler. Et pendant ce temps, une menace Transformer ancienne et puissante prend la Terre pour cible.", :genre=>["Action", "Aventure", "Science-Fiction"], :poster=>"http://image.tmdb.org/t/p/w500//9NCPIUbqgAcRYwex4pCg9s20jun.jpg", :casting=>{0=>{:role=>"Cade Yeager", :name=>"Mark Wahlberg"}, 1=>{:role=>"Joshua", :name=>"Stanley Tucci"}, 2=>{:role=>"Tessa Yeager", :name=>"Nicola Peltz"}}}, "TRANSCENDANCE"=>{:id=>157353, :title=>"Transcendance", :title_list=>"TRANSCENDANCE", :synopsis=>"Dans un futur proche, un groupe de scientifiques tente de concevoir le premier ordinateur dot\u00E9 d\u2019une conscience et capable r\u00E9fl\u00E9chir de mani\u00E8re autonome. Ils doivent faire face aux attaques de terroristes anti-technologie qui voient dans ce projet une menace pour l\u2019esp\u00E8ce humaine. Lorsque le scientifique \u00E0 la t\u00EAte du projet est assassin\u00E9, sa femme se sert de l\u2019avanc\u00E9e de ses travaux pour \"transcender\" l\u2019esprit de son mari dans le premier super ordinateur de l\u2019histoire. Pouvant d\u00E9sormais contr\u00F4ler tous les r\u00E9seaux li\u00E9s \u00E0 internet, il devient ainsi quasi omnipotent. Mais comment l\u2019arr\u00EAter s\u2019il perdait ce qui lui reste d\u2019humanit\u00E9 ?", :genre=>["Drame", "Myst\u00E8re", "Science-Fiction", "Thriller"], :poster=>"http://image.tmdb.org/t/p/w500//ikonFy0ooG8sj5ei7FGQ8RJ70NW.jpg", :casting=>{0=>{:role=>"Will", :name=>"Johnny Depp"}, 1=>{:role=>"Max", :name=>"Paul Bettany"}, 2=>{:role=>"Evelyn", :name=>"Rebecca Hall"}}}, "PLANES 2"=>{:id=>218836, :title=>"Planes 2", :title_list=>"PLANES 2", :synopsis=>"Quand Dusty apprend que son moteur est endommag\u00E9 et qu\u2019il ne pourra peut-\u00EAtre plus jamais participer \u00E0 une course, il d\u00E9cide de changer de voie et de se lancer dans la guerre contre le feu au sein d\u2019une \u00E9quipe improbable en charge de la protection du parc national de Piston Peak. Il joint ainsi ses forces \u00E0 celles de l\u2019h\u00E9licopt\u00E8re de secours Blade Ranger et de sa courageuse \u00E9quipe de l\u2019air dont la tr\u00E8s vive Lil\u2019Dipper, l\u2019h\u00E9licopt\u00E8re de transports lourds Windlifter, l\u2019ancien transporteur militaire Cabbie et une bande de courageux v\u00E9hicules tous-terrains. Dans leur bataille contre les incendies, Dusty va d\u00E9couvrir combien il en co\u00FBte pour devenir un vrai h\u00E9ros\u2026", :genre=>["Aventure", "Animation", "Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//f4Bk6lNAFs0QLDKCSo66NH3fvc5.jpg", :casting=>{0=>{:role=>"Dusty Crophopper (voice)", :name=>"Dane Cook"}, 1=>{:role=>"Dipper (voice)", :name=>"Julie Bowen"}, 2=>{:role=>"Dynamite (voice)", :name=>"Regina King"}}}}}
|
113
|
+
@prog = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}, "6"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"DIM 6", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21H", :film3=>"DE TOUTES NOS FORCES", :film4=>"SOUS LES JUPES DES FILLES"}, "7"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"LUN 7", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"DE TOUTES NOS FORCES"}, "8"=>{:horaire1=>"17h30", :film1=>"BARBECUE", :date=>"MAR 8", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21H", :film3=>"BABYSITTING", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "9"=>{:horaire1=>"17h30", :film1=>"LA LISTE DE MES ENVIES", :date=>"MER 9", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"MALEFIQUE", :film4=>"BARBECUE"}, "10"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"JEU 10", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "11"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"VEN 11", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"DEUX JOURS, UNE NUIT"}, "12"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"SAM 12", :film2=>"BABYSITTING", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "13"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"DIM 13 ", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>nil, :film3=>nil, :film4=>nil}, "14"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"LUN 14", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"LA LISTE DE MES ENVIES", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "15"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MAR 15", :film2=>"LA RITOURNELLE", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "16"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"MER 16", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"SOUS LES JUPES DES FILLES"}, "17"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"JEU 17", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "18"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"VEN 18", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "19"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"SAM 19", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "20"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"DIM 20", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "21"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"LUN 21", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "22"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"MAR 22", :film2=>"RIO 2", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"TRANSCENDANCE"}, "23"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"MER 23", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"LA RITOURNELLE"}, "24"=>{:horaire1=>"17h30", :film1=>"DE TOUTES NOS FORCES", :date=>"JEU 24", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "25"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"VEN 25", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "26"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"SAM 26", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "27"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"DIM 27", :film2=>"PLANES 2", :horaire2=>"21 H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "28"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"LUN 28", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "29"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"MAR 29", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "30"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MER 30", :film2=>"DE TOUTES NOS FORCES", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "31"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"JEU 31", :film2=>"DRAGONS 2"}}}
|
114
|
+
@movie_info = {"SOUS LES JUPES DES FILLES"=>{:id=>273169, :title=>"Sous les jupes des filles", :title_list=>"SOUS LES JUPES DES FILLES", :synopsis=>"Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg", :casting=>{0=>{:role=>"Lily", :name=>"Isabelle Adjani"}, 1=>{:role=>"Adeline", :name=>"Alice Bela\u00EFdi"}, 2=>{:role=>"Agathe", :name=>"Laetitia Casta"}}}, "BABYSITTING"=>{:id=>262551, :title=>"Babysitting", :title_list=>"BABYSITTING", :synopsis=>"Faute de baby-sitter pour le week-end, Marc Schaudel confie son fils Remy \u00E0 Franck, son employ\u00E9, \"un type s\u00E9rieux\" selon lui. Sauf que Franck a 30 ans ce soir et que R\u00E9my est un sale gosse capricieux. Au petit matin, Marc et sa femme Claire sont r\u00E9veill\u00E9s par un appel de la police. R\u00E9my et Franck ont disparu ! Au milieu de leur maison saccag\u00E9e, la police a retrouv\u00E9 une cam\u00E9ra. Marc et Claire d\u00E9couvrent hallucin\u00E9s les images tourn\u00E9es pendant la soir\u00E9e.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//q2t1UVpyf8K7cAqyBz7Nl91gNl9.jpg", :casting=>{0=>{:role=>"Franck", :name=>"Philippe Lacheau"}, 1=>{:role=>"Sonia", :name=>"Alice David"}, 2=>{:role=>"Ernest", :name=>"Vincent Desagnat"}}}, "DEUX JOURS UNE NUIT"=>{:id=>221902, :title=>"Deux jours, une nuit", :title_list=>"DEUX JOURS UNE NUIT", :synopsis=>"Sandra, aid\u00E9e par son mari, n\u2019a qu\u2019un week-end pour aller voir ses coll\u00E8gues et les convaincre de renoncer \u00E0 leur prime pour qu\u2019elle puisse garder son travail.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//iFzsuRqrt3qNBiwacZxHZdH481I.jpg", :casting=>{0=>{:role=>"Sandra", :name=>"Marion Cotillard"}, 1=>{:role=>"", :name=>"Fabrizio Rongione"}, 2=>{:role=>"", :name=>"Olivier Gourmet"}}}, "DE TOUTES NOS FORCES"=>{:id=>214087, :title=>"De toutes nos forces", :title_list=>"DE TOUTES NOS FORCES", :synopsis=>"Comme tous les adolescents, Julien r\u00EAve d\u2019aventures et de sensations fortes. Mais lorsqu\u2019on vit dans un fauteuil roulant, ces r\u00EAves-l\u00E0 sont difficilement r\u00E9alisables. Pour y parvenir, il met au d\u00E9fi son p\u00E8re de concourir avec lui au triathlon \u00AB Ironman \u00BB de Nice: une des \u00E9preuves sportives les plus difficiles qui soit. Autour d\u2019eux, c\u2019est toute une famille qui va se reconstruire pour tenter d\u2019aller au bout de cet incroyable exploit.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//mv5oZmfGE1MLPNFo8Q0xe7z6cZX.jpg", :casting=>{0=>{:role=>"Paul Amblard", :name=>"Jacques Gamblin"}, 1=>{:role=>"Claire Amblard", :name=>"Alexandra Lamy"}, 2=>{:role=>"Julien Amblard", :name=>"Fabien H\u00E9raud"}}}, "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>{:id=>262391, :title=>"Qu'est-ce qu'on a fait au Bon Dieu", :title_list=>"QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :synopsis=>"Claude et Marie Verneuil, issus de la grande bourgeoisie catholique provinciale sont des parents plut\u00F4t \"vieille France\". Mais ils se sont toujours oblig\u00E9s \u00E0 faire preuve d'ouverture d'esprit...Les pilules furent cependant bien difficiles \u00E0 avaler quand leur premi\u00E8re fille \u00E9pousa un musulman, leur seconde un juif et leur troisi\u00E8me un chinois. Leurs espoirs de voir enfin l'une d'elles se marier \u00E0 l'\u00E9glise se cristallisent donc sur la cadette, qui, all\u00E9luia, vient de rencontrer un bon catholique.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//uUiyiGtMKSmTQyQ2j8hIwi4ah9W.jpg", :casting=>{0=>{:role=>"Claude Verneuil", :name=>"Christian Clavier"}, 1=>{:role=>"Marie Verneuil", :name=>"Chantal Lauby"}, 2=>{:role=>"David Benichou", :name=>"Ary Abittan"}}}, "RIO 2"=>{:id=>172385, :title=>"Rio 2", :title_list=>"RIO 2", :synopsis=>"Blu a pris son envol et se sent d\u00E9sormais chez lui \u00E0 Rio de Janeiro, aux c\u00F4t\u00E9s de Perla et de leurs trois enfants. Mais la vie de perroquet ne s\u2019apprend pas en ville et Perla insiste pour que la famille s\u2019installe dans la for\u00EAt amazonienne. Alors que Blu essaie de s\u2019habituer \u00E0 ses nouveaux voisins, il s\u2019inqui\u00E8te de voir Perla et ses enfants beaucoup plus r\u00E9ceptifs \u00E0 l\u2019appel de la jungle.", :genre=>["Animation", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//w8alkJlkAaekbxsAani7qccE61P.jpg", :casting=>{0=>{:role=>"Blu (voice)", :name=>"Jesse Eisenberg"}, 1=>{:role=>"Jewel (voice)", :name=>"Anne Hathaway"}, 2=>{:role=>"Linda (voice)", :name=>"Leslie Mann"}}}, "BARBECUE"=>{:id=>250349, :title=>"Barbecue", :title_list=>"BARBECUE", :synopsis=>"Pour ses 50 ans, Antoine a re\u00E7u un cadeau original : un infarctus. A partir de maintenant, il va devoir \u00ABfaire attention\u00BB. Or, Antoine a pass\u00E9 sa vie enti\u00E8re \u00E0 faire attention : attention \u00E0 sa sant\u00E9, \u00E0 ce qu'il mangeait, attention \u00E0 sa famille, \u00E0 accepter les travers de ses amis, et \u00E0 avaler de trop nombreuses couleuvres\u2026 D\u00E9sormais, il va adopter un nouveau r\u00E9gime. Mais en voulant changer sa vie, on change forc\u00E9ment celle des autres", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//20ZniTaQ4tIQJQOfWZ4bpps8jmx.jpg", :casting=>{0=>{:role=>"Antoine", :name=>"Lambert Wilson"}, 1=>{:role=>"Baptiste", :name=>"Franck Dubosc"}, 2=>{:role=>"Olivia", :name=>"Florence Foresti"}}}, "LA LISTE DE MES ENVIES"=>{:id=>277230, :title=>"La Liste de mes envies", :title_list=>"LA LISTE DE MES ENVIES", :synopsis=>"Lorsque la petite merci\u00E8re d\u2019Arras d\u00E9couvre qu\u2019elle a gagn\u00E9 18 millions \u00E0 la loterie et qu\u2019elle peut d\u00E9sormais s\u2019offrir tout ce qu\u2019elle veut, elle n\u2019a qu\u2019une crainte : perdre cette vie modeste faite de bonheurs simples qu\u2019elle ch\u00E9rit par-dessus tout. Mais le destin est obstin\u00E9, et c\u2019est en renon\u00E7ant trop longtemps \u00E0 cette bonne fortune qu\u2019elle va d\u00E9clencher, bien malgr\u00E9 elle, un ouragan qui va tout changer. Tout, sauf elle.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//vfAgOQDgJLVAdi7rVuERl1XmeXR.jpg", :casting=>{0=>{:role=>"Jocelyne Guerbette", :name=>"Mathilde Seigner"}, 1=>{:role=>"Jo Guerbette", :name=>"Marc Lavoine"}, 2=>{:role=>"Danielle 2", :name=>"Fr\u00E9d\u00E9rique Bel"}}}, "DRAGONS 2"=>{:id=>82702, :title=>"Dragons 2", :title_list=>"DRAGONS 2", :synopsis=>"Tandis qu\u2019Astrid, Rustik et le reste de la bande se d\u00E9fient durant des courses sportives de dragons devenues populaires sur l\u2019\u00EEle, notre duo d\u00E9sormais ins\u00E9parable parcourt les cieux, \u00E0 la d\u00E9couverte de territoires inconnus et de nouveaux mondes. Au cours de l\u2019une de leurs aventures, ils d\u00E9couvrent une grotte secr\u00E8te qui abrite des centaines de dragons sauvages, dont le myst\u00E9rieux Dragon Rider. Les deux amis se retrouvent alors au centre d\u2019une lutte visant \u00E0 maintenir la paix. Harold et Krokmou vont se battre pour d\u00E9fendre leurs valeurs et pr\u00E9server le destin des hommes et des dragons.", :genre=>["Action", "Aventure", "Animation", "Com\u00E9die", "Fantastique", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//ePUTpNWfcmYnuznobGdZC27UnrT.jpg", :casting=>{0=>{:role=>"Hiccup (voice)", :name=>"Jay Baruchel"}, 1=>{:role=>"Stoick the Vast (voice)", :name=>"Gerard Butler"}, 2=>{:role=>"Ruffnut (voice)", :name=>"Kristen Wiig"}}}, "MALEFIQUE"=>{:id=>46025, :title=>"Mal\u00E9fique", :title_list=>"MALEFIQUE", :synopsis=>"Quatre d\u00E9tenus partagent la m\u00EAme cellule. Ils d\u00E9couvrent un jour, derri\u00E8re une pierre descell\u00E9e, le journal d'un prisonnier enferm\u00E9 au d\u00E9but du si\u00E8cle. Ce recueil contient des formules magiques qui permettraient de s'\u00E9vader. Mais apr\u00E8s cette trouvaille, des ph\u00E9nom\u00E8nes \u00E9tranges se produisent...", :genre=>["Fantastique", "Horreur", "Myst\u00E8re"], :poster=>"http://image.tmdb.org/t/p/w500//1NcVLHqP4hyujCFTxnIiIDFmJ7C.jpg", :casting=>{0=>{:role=>"Carr\u00E8re", :name=>"G\u00E9rald Laroche"}, 1=>{:role=>"Lassalle", :name=>"Philippe Laudenbach"}, 2=>{:role=>"Marcus", :name=>"Clovis Cornillac"}}}, "ON A FAILLI \u00CATRE AMIES"=>{:id=>270342, :title=>"On a failli \u00EAtre amies", :title_list=>"ON A FAILLI \u00CATRE AMIES", :synopsis=>"Marith\u00E9 se voue \u00E0 son travail de formatrice avec ardeur. Elle souhaite que ses stagiaires sortent de formation en ayant d\u00E9couvert leur voie. Avec Carole, une \u00E9pouse d\u00E9vou\u00E9e, sa mission va aller au-del\u00E0 puisque celle-ci, prenant conscience de ses possibilit\u00E9s, quitte son mari. Une relation amoureuse s'installe entre les deux femmes.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//9ovCeQznt4ZLxL1zICSrx9crOLz.jpg", :casting=>{0=>{:role=>"Marith\u00E9", :name=>"Karin Viard"}, 1=>{:role=>"Carole Drissi", :name=>"Emmanuelle Devos"}, 2=>{:role=>"Sam Drissi", :name=>"Roschdy Zem"}}}, "LA RITOURNELLE"=>{:id=>258435, :title=>"La Ritournelle", :title_list=>"LA RITOURNELLE", :synopsis=>"Brigitte et Xavier sont \u00E9leveurs bovins en Normandie. Elle est r\u00EAveuse, la t\u00EAte dans les \u00E9toiles. Lui, les pieds ancr\u00E9s dans la terre, vit surtout pour son m\u00E9tier. Avec le d\u00E9part des enfants, la routine de leur couple p\u00E8se de plus en plus \u00E0 Brigitte. Un jour, sur un coup de folie, elle prend la clef des champs. Destination : Paris. Xavier r\u00E9alise alors qu\u2019il est peut-\u00EAtre en train de la perdre. Parviendront-ils \u00E0 se retrouver ? Et comment se r\u00E9inventer, apr\u00E8s toutes ces ann\u00E9es ? La reconqu\u00EAte emprunte parfois des chemins de traverse...", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//jeoslytSa0tjS9KqePB9VqJnNhq.jpg", :casting=>{0=>{:role=>"Brigitte Lecanu", :name=>"Isabelle Huppert"}, 1=>{:role=>"Xavier Lecanu", :name=>"Jean-Pierre Darroussin"}, 2=>{:role=>"Jesper", :name=>"Michael Nyqvist"}}}, "LES VACANCES DU PETIT NICOLAS"=>{:id=>277368, :title=>"Les vacances du petit Nicolas", :title_list=>"LES VACANCES DU PETIT NICOLAS", :synopsis=>"C\u2019est la fin de l\u2019ann\u00E9e scolaire. Le moment tant attendu des vacances est arriv\u00E9.Le petit Nicolas, ses parents et M\u00E9m\u00E9 prennent la route en direction de la mer, et s\u2019installent pour quelques temps \u00E0 l\u2019H\u00F4tel Beau-Rivage.", :genre=>["Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//vBJQc8gZh5WOxyDxFIAU1SruKY8.jpg", :casting=>{0=>{:role=>"Le petit Nicolas", :name=>"Math\u00E9o Boisselier"}, 1=>{:role=>"La m\u00E8re de Nicolas", :name=>"Val\u00E9rie Lemercier"}, 2=>{:role=>"Le p\u00E8re de Nicolas", :name=>"Kad Merad"}}}, "TRANSFORMERS L AGE DE L'EXTINCTION"=>{:id=>91314, :title=>"Transformers : L'\u00C2ge de l'Extinction", :title_list=>"TRANSFORMERS L AGE DE L'EXTINCTION", :synopsis=>"Alors que l\u2019humanit\u00E9 panse ses plaies, apr\u00E8s les \u00E9v\u00E9nements de Transformers : La Face cach\u00E9e de la Lune, les Autobots et les Decepticons ont disparu de la surface de la Terre. Mais un groupe form\u00E9 de financiers et scientifiques puissants et ing\u00E9nieux \u00E9tudient les invasions successives des Transformers, afin de repousser les limites de la technologie au-del\u00E0 de ce qu\u2019ils peuvent contr\u00F4ler. Et pendant ce temps, une menace Transformer ancienne et puissante prend la Terre pour cible.", :genre=>["Action", "Aventure", "Science-Fiction"], :poster=>"http://image.tmdb.org/t/p/w500//9NCPIUbqgAcRYwex4pCg9s20jun.jpg", :casting=>{0=>{:role=>"Cade Yeager", :name=>"Mark Wahlberg"}, 1=>{:role=>"Joshua", :name=>"Stanley Tucci"}, 2=>{:role=>"Tessa Yeager", :name=>"Nicola Peltz"}}}, "TRANSCENDANCE"=>{:id=>157353, :title=>"Transcendance", :title_list=>"TRANSCENDANCE", :synopsis=>"Dans un futur proche, un groupe de scientifiques tente de concevoir le premier ordinateur dot\u00E9 d\u2019une conscience et capable r\u00E9fl\u00E9chir de mani\u00E8re autonome. Ils doivent faire face aux attaques de terroristes anti-technologie qui voient dans ce projet une menace pour l\u2019esp\u00E8ce humaine. Lorsque le scientifique \u00E0 la t\u00EAte du projet est assassin\u00E9, sa femme se sert de l\u2019avanc\u00E9e de ses travaux pour \"transcender\" l\u2019esprit de son mari dans le premier super ordinateur de l\u2019histoire. Pouvant d\u00E9sormais contr\u00F4ler tous les r\u00E9seaux li\u00E9s \u00E0 internet, il devient ainsi quasi omnipotent. Mais comment l\u2019arr\u00EAter s\u2019il perdait ce qui lui reste d\u2019humanit\u00E9 ?", :genre=>["Drame", "Myst\u00E8re", "Science-Fiction", "Thriller"], :poster=>"http://image.tmdb.org/t/p/w500//ikonFy0ooG8sj5ei7FGQ8RJ70NW.jpg", :casting=>{0=>{:role=>"Will", :name=>"Johnny Depp"}, 1=>{:role=>"Max", :name=>"Paul Bettany"}, 2=>{:role=>"Evelyn", :name=>"Rebecca Hall"}}}, "PLANES 2"=>{:id=>218836, :title=>"Planes 2", :title_list=>"PLANES 2", :synopsis=>"Quand Dusty apprend que son moteur est endommag\u00E9 et qu\u2019il ne pourra peut-\u00EAtre plus jamais participer \u00E0 une course, il d\u00E9cide de changer de voie et de se lancer dans la guerre contre le feu au sein d\u2019une \u00E9quipe improbable en charge de la protection du parc national de Piston Peak. Il joint ainsi ses forces \u00E0 celles de l\u2019h\u00E9licopt\u00E8re de secours Blade Ranger et de sa courageuse \u00E9quipe de l\u2019air dont la tr\u00E8s vive Lil\u2019Dipper, l\u2019h\u00E9licopt\u00E8re de transports lourds Windlifter, l\u2019ancien transporteur militaire Cabbie et une bande de courageux v\u00E9hicules tous-terrains. Dans leur bataille contre les incendies, Dusty va d\u00E9couvrir combien il en co\u00FBte pour devenir un vrai h\u00E9ros\u2026", :genre=>["Aventure", "Animation", "Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//f4Bk6lNAFs0QLDKCSo66NH3fvc5.jpg", :casting=>{0=>{:role=>"Dusty Crophopper (voice)", :name=>"Dane Cook"}, 1=>{:role=>"Dipper (voice)", :name=>"Julie Bowen"}, 2=>{:role=>"Dynamite (voice)", :name=>"Regina King"}}}}
|
115
|
+
|
116
|
+
prog_with_info = MoviesClient.assemble_prog_with_info(@prog,@movie_info)
|
117
|
+
puts prog_with_info
|
118
|
+
assert_equal result_expected, prog_with_info
|
119
|
+
end
|
120
|
+
|
121
|
+
should 'do the all process' do
|
122
|
+
#Define result expected
|
123
|
+
result_expected = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}, "6"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"DIM 6", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21H", :film3=>"DE TOUTES NOS FORCES", :film4=>"SOUS LES JUPES DES FILLES"}, "7"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"LUN 7", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"DE TOUTES NOS FORCES"}, "8"=>{:horaire1=>"17h30", :film1=>"BARBECUE", :date=>"MAR 8", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21H", :film3=>"BABYSITTING", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "9"=>{:horaire1=>"17h30", :film1=>"LA LISTE DE MES ENVIES", :date=>"MER 9", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"MALEFIQUE", :film4=>"BARBECUE"}, "10"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"JEU 10", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "11"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"VEN 11", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"DEUX JOURS, UNE NUIT"}, "12"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"SAM 12", :film2=>"BABYSITTING", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "13"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"DIM 13 ", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>nil, :film3=>nil, :film4=>nil}, "14"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"LUN 14", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"LA LISTE DE MES ENVIES", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "15"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MAR 15", :film2=>"LA RITOURNELLE", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "16"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"MER 16", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"SOUS LES JUPES DES FILLES"}, "17"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"JEU 17", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "18"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"VEN 18", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "19"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"SAM 19", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "20"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"DIM 20", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "21"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"LUN 21", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "22"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"MAR 22", :film2=>"RIO 2", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"TRANSCENDANCE"}, "23"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"MER 23", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"LA RITOURNELLE"}, "24"=>{:horaire1=>"17h30", :film1=>"DE TOUTES NOS FORCES", :date=>"JEU 24", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "25"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"VEN 25", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "26"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"SAM 26", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "27"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"DIM 27", :film2=>"PLANES 2", :horaire2=>"21 H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "28"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"LUN 28", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "29"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"MAR 29", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "30"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MER 30", :film2=>"DE TOUTES NOS FORCES", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "31"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"JEU 31", :film2=>"DRAGONS 2"}}, :result=>{"SOUS LES JUPES DES FILLES"=>{:id=>273169, :title=>"Sous les jupes des filles", :title_list=>"SOUS LES JUPES DES FILLES", :synopsis=>"Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg", :casting=>{0=>{:role=>"Lily", :name=>"Isabelle Adjani"}, 1=>{:role=>"Adeline", :name=>"Alice Bela\u00EFdi"}, 2=>{:role=>"Agathe", :name=>"Laetitia Casta"}}}, "BABYSITTING"=>{:id=>262551, :title=>"Babysitting", :title_list=>"BABYSITTING", :synopsis=>"Faute de baby-sitter pour le week-end, Marc Schaudel confie son fils Remy \u00E0 Franck, son employ\u00E9, \"un type s\u00E9rieux\" selon lui. Sauf que Franck a 30 ans ce soir et que R\u00E9my est un sale gosse capricieux. Au petit matin, Marc et sa femme Claire sont r\u00E9veill\u00E9s par un appel de la police. R\u00E9my et Franck ont disparu ! Au milieu de leur maison saccag\u00E9e, la police a retrouv\u00E9 une cam\u00E9ra. Marc et Claire d\u00E9couvrent hallucin\u00E9s les images tourn\u00E9es pendant la soir\u00E9e.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//q2t1UVpyf8K7cAqyBz7Nl91gNl9.jpg", :casting=>{0=>{:role=>"Franck", :name=>"Philippe Lacheau"}, 1=>{:role=>"Sonia", :name=>"Alice David"}, 2=>{:role=>"Ernest", :name=>"Vincent Desagnat"}}}, "DEUX JOURS UNE NUIT"=>{:id=>221902, :title=>"Deux jours, une nuit", :title_list=>"DEUX JOURS UNE NUIT", :synopsis=>"Sandra, aid\u00E9e par son mari, n\u2019a qu\u2019un week-end pour aller voir ses coll\u00E8gues et les convaincre de renoncer \u00E0 leur prime pour qu\u2019elle puisse garder son travail.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//iFzsuRqrt3qNBiwacZxHZdH481I.jpg", :casting=>{0=>{:role=>"Sandra", :name=>"Marion Cotillard"}, 1=>{:role=>"", :name=>"Fabrizio Rongione"}, 2=>{:role=>"", :name=>"Olivier Gourmet"}}}, "DE TOUTES NOS FORCES"=>{:id=>214087, :title=>"De toutes nos forces", :title_list=>"DE TOUTES NOS FORCES", :synopsis=>"Comme tous les adolescents, Julien r\u00EAve d\u2019aventures et de sensations fortes. Mais lorsqu\u2019on vit dans un fauteuil roulant, ces r\u00EAves-l\u00E0 sont difficilement r\u00E9alisables. Pour y parvenir, il met au d\u00E9fi son p\u00E8re de concourir avec lui au triathlon \u00AB Ironman \u00BB de Nice: une des \u00E9preuves sportives les plus difficiles qui soit. Autour d\u2019eux, c\u2019est toute une famille qui va se reconstruire pour tenter d\u2019aller au bout de cet incroyable exploit.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//mv5oZmfGE1MLPNFo8Q0xe7z6cZX.jpg", :casting=>{0=>{:role=>"Paul Amblard", :name=>"Jacques Gamblin"}, 1=>{:role=>"Claire Amblard", :name=>"Alexandra Lamy"}, 2=>{:role=>"Julien Amblard", :name=>"Fabien H\u00E9raud"}}}, "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>{:id=>262391, :title=>"Qu'est-ce qu'on a fait au Bon Dieu", :title_list=>"QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :synopsis=>"Claude et Marie Verneuil, issus de la grande bourgeoisie catholique provinciale sont des parents plut\u00F4t \"vieille France\". Mais ils se sont toujours oblig\u00E9s \u00E0 faire preuve d'ouverture d'esprit...Les pilules furent cependant bien difficiles \u00E0 avaler quand leur premi\u00E8re fille \u00E9pousa un musulman, leur seconde un juif et leur troisi\u00E8me un chinois. Leurs espoirs de voir enfin l'une d'elles se marier \u00E0 l'\u00E9glise se cristallisent donc sur la cadette, qui, all\u00E9luia, vient de rencontrer un bon catholique.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//uUiyiGtMKSmTQyQ2j8hIwi4ah9W.jpg", :casting=>{0=>{:role=>"Claude Verneuil", :name=>"Christian Clavier"}, 1=>{:role=>"Marie Verneuil", :name=>"Chantal Lauby"}, 2=>{:role=>"David Benichou", :name=>"Ary Abittan"}}}, "RIO 2"=>{:id=>172385, :title=>"Rio 2", :title_list=>"RIO 2", :synopsis=>"Blu a pris son envol et se sent d\u00E9sormais chez lui \u00E0 Rio de Janeiro, aux c\u00F4t\u00E9s de Perla et de leurs trois enfants. Mais la vie de perroquet ne s\u2019apprend pas en ville et Perla insiste pour que la famille s\u2019installe dans la for\u00EAt amazonienne. Alors que Blu essaie de s\u2019habituer \u00E0 ses nouveaux voisins, il s\u2019inqui\u00E8te de voir Perla et ses enfants beaucoup plus r\u00E9ceptifs \u00E0 l\u2019appel de la jungle.", :genre=>["Animation", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//w8alkJlkAaekbxsAani7qccE61P.jpg", :casting=>{0=>{:role=>"Blu (voice)", :name=>"Jesse Eisenberg"}, 1=>{:role=>"Jewel (voice)", :name=>"Anne Hathaway"}, 2=>{:role=>"Linda (voice)", :name=>"Leslie Mann"}}}, "BARBECUE"=>{:id=>250349, :title=>"Barbecue", :title_list=>"BARBECUE", :synopsis=>"Pour ses 50 ans, Antoine a re\u00E7u un cadeau original : un infarctus. A partir de maintenant, il va devoir \u00ABfaire attention\u00BB. Or, Antoine a pass\u00E9 sa vie enti\u00E8re \u00E0 faire attention : attention \u00E0 sa sant\u00E9, \u00E0 ce qu'il mangeait, attention \u00E0 sa famille, \u00E0 accepter les travers de ses amis, et \u00E0 avaler de trop nombreuses couleuvres\u2026 D\u00E9sormais, il va adopter un nouveau r\u00E9gime. Mais en voulant changer sa vie, on change forc\u00E9ment celle des autres", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//20ZniTaQ4tIQJQOfWZ4bpps8jmx.jpg", :casting=>{0=>{:role=>"Antoine", :name=>"Lambert Wilson"}, 1=>{:role=>"Baptiste", :name=>"Franck Dubosc"}, 2=>{:role=>"Olivia", :name=>"Florence Foresti"}}}, "LA LISTE DE MES ENVIES"=>{:id=>277230, :title=>"La Liste de mes envies", :title_list=>"LA LISTE DE MES ENVIES", :synopsis=>"Lorsque la petite merci\u00E8re d\u2019Arras d\u00E9couvre qu\u2019elle a gagn\u00E9 18 millions \u00E0 la loterie et qu\u2019elle peut d\u00E9sormais s\u2019offrir tout ce qu\u2019elle veut, elle n\u2019a qu\u2019une crainte : perdre cette vie modeste faite de bonheurs simples qu\u2019elle ch\u00E9rit par-dessus tout. Mais le destin est obstin\u00E9, et c\u2019est en renon\u00E7ant trop longtemps \u00E0 cette bonne fortune qu\u2019elle va d\u00E9clencher, bien malgr\u00E9 elle, un ouragan qui va tout changer. Tout, sauf elle.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//vfAgOQDgJLVAdi7rVuERl1XmeXR.jpg", :casting=>{0=>{:role=>"Jocelyne Guerbette", :name=>"Mathilde Seigner"}, 1=>{:role=>"Jo Guerbette", :name=>"Marc Lavoine"}, 2=>{:role=>"Danielle 2", :name=>"Fr\u00E9d\u00E9rique Bel"}}}, "DRAGONS 2"=>{:id=>82702, :title=>"Dragons 2", :title_list=>"DRAGONS 2", :synopsis=>"Tandis qu\u2019Astrid, Rustik et le reste de la bande se d\u00E9fient durant des courses sportives de dragons devenues populaires sur l\u2019\u00EEle, notre duo d\u00E9sormais ins\u00E9parable parcourt les cieux, \u00E0 la d\u00E9couverte de territoires inconnus et de nouveaux mondes. Au cours de l\u2019une de leurs aventures, ils d\u00E9couvrent une grotte secr\u00E8te qui abrite des centaines de dragons sauvages, dont le myst\u00E9rieux Dragon Rider. Les deux amis se retrouvent alors au centre d\u2019une lutte visant \u00E0 maintenir la paix. Harold et Krokmou vont se battre pour d\u00E9fendre leurs valeurs et pr\u00E9server le destin des hommes et des dragons.", :genre=>["Action", "Aventure", "Animation", "Com\u00E9die", "Fantastique", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//ePUTpNWfcmYnuznobGdZC27UnrT.jpg", :casting=>{0=>{:role=>"Hiccup (voice)", :name=>"Jay Baruchel"}, 1=>{:role=>"Stoick the Vast (voice)", :name=>"Gerard Butler"}, 2=>{:role=>"Ruffnut (voice)", :name=>"Kristen Wiig"}}}, "MALEFIQUE"=>{:id=>102651, :title=>"Mal\u00E9fique", :title_list=>"MALEFIQUE", :synopsis=>"L\u2019histoire in\u00E9dite de Mal\u00E9fique, la tr\u00E8s aim\u00E9e m\u00E9chante du classique Disney de 1959 \"La Belle au Bois Dormant\". Le film r\u00E9v\u00E8le les \u00E9v\u00E9nements qui lui ont endurci le c\u0153ur et l\u2019ont conduite \u00E0 jeter un mauvais sort \u00E0 la petite Aurore.", :genre=>["Action", "Aventure", "Fantastique", "Romance", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//Af8XwQ3FAhB0BwenZSHxoByPUvx.jpg", :casting=>{0=>{:role=>"Maleficent", :name=>"Angelina Jolie"}, 1=>{:role=>"Princess Aurora", :name=>"Elle Fanning"}, 2=>{:role=>"Thistletwit", :name=>"Juno Temple"}}}, "ON A FAILLI \u00CATRE AMIES"=>{:id=>270342, :title=>"On a failli \u00EAtre amies", :title_list=>"ON A FAILLI \u00CATRE AMIES", :synopsis=>"Marith\u00E9 se voue \u00E0 son travail de formatrice avec ardeur. Elle souhaite que ses stagiaires sortent de formation en ayant d\u00E9couvert leur voie. Avec Carole, une \u00E9pouse d\u00E9vou\u00E9e, sa mission va aller au-del\u00E0 puisque celle-ci, prenant conscience de ses possibilit\u00E9s, quitte son mari. Une relation amoureuse s'installe entre les deux femmes.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//9ovCeQznt4ZLxL1zICSrx9crOLz.jpg", :casting=>{0=>{:role=>"Marith\u00E9", :name=>"Karin Viard"}, 1=>{:role=>"Carole Drissi", :name=>"Emmanuelle Devos"}, 2=>{:role=>"Sam Drissi", :name=>"Roschdy Zem"}}}, "LA RITOURNELLE"=>{:id=>258435, :title=>"La Ritournelle", :title_list=>"LA RITOURNELLE", :synopsis=>"Brigitte et Xavier sont \u00E9leveurs bovins en Normandie. Elle est r\u00EAveuse, la t\u00EAte dans les \u00E9toiles. Lui, les pieds ancr\u00E9s dans la terre, vit surtout pour son m\u00E9tier. Avec le d\u00E9part des enfants, la routine de leur couple p\u00E8se de plus en plus \u00E0 Brigitte. Un jour, sur un coup de folie, elle prend la clef des champs. Destination : Paris. Xavier r\u00E9alise alors qu\u2019il est peut-\u00EAtre en train de la perdre. Parviendront-ils \u00E0 se retrouver ? Et comment se r\u00E9inventer, apr\u00E8s toutes ces ann\u00E9es ? La reconqu\u00EAte emprunte parfois des chemins de traverse...", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//jeoslytSa0tjS9KqePB9VqJnNhq.jpg", :casting=>{0=>{:role=>"Brigitte Lecanu", :name=>"Isabelle Huppert"}, 1=>{:role=>"Xavier Lecanu", :name=>"Jean-Pierre Darroussin"}, 2=>{:role=>"Jesper", :name=>"Michael Nyqvist"}}}, "LES VACANCES DU PETIT NICOLAS"=>{:id=>277368, :title=>"Les vacances du petit Nicolas", :title_list=>"LES VACANCES DU PETIT NICOLAS", :synopsis=>"C\u2019est la fin de l\u2019ann\u00E9e scolaire. Le moment tant attendu des vacances est arriv\u00E9.Le petit Nicolas, ses parents et M\u00E9m\u00E9 prennent la route en direction de la mer, et s\u2019installent pour quelques temps \u00E0 l\u2019H\u00F4tel Beau-Rivage.", :genre=>["Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//vBJQc8gZh5WOxyDxFIAU1SruKY8.jpg", :casting=>{0=>{:role=>"Le petit Nicolas", :name=>"Math\u00E9o Boisselier"}, 1=>{:role=>"La m\u00E8re de Nicolas", :name=>"Val\u00E9rie Lemercier"}, 2=>{:role=>"Le p\u00E8re de Nicolas", :name=>"Kad Merad"}}}, "TRANSFORMERS L AGE DE L'EXTINCTION"=>{:id=>91314, :title=>"Transformers : L'\u00C2ge de l'Extinction", :title_list=>"TRANSFORMERS L AGE DE L'EXTINCTION", :synopsis=>"Alors que l\u2019humanit\u00E9 panse ses plaies, apr\u00E8s les \u00E9v\u00E9nements de Transformers : La Face cach\u00E9e de la Lune, les Autobots et les Decepticons ont disparu de la surface de la Terre. Mais un groupe form\u00E9 de financiers et scientifiques puissants et ing\u00E9nieux \u00E9tudient les invasions successives des Transformers, afin de repousser les limites de la technologie au-del\u00E0 de ce qu\u2019ils peuvent contr\u00F4ler. Et pendant ce temps, une menace Transformer ancienne et puissante prend la Terre pour cible.", :genre=>["Action", "Aventure", "Science-Fiction"], :poster=>"http://image.tmdb.org/t/p/w500//9NCPIUbqgAcRYwex4pCg9s20jun.jpg", :casting=>{0=>{:role=>"Cade Yeager", :name=>"Mark Wahlberg"}, 1=>{:role=>"Joshua", :name=>"Stanley Tucci"}, 2=>{:role=>"Tessa Yeager", :name=>"Nicola Peltz"}}}, "TRANSCENDANCE"=>{:id=>157353, :title=>"Transcendance", :title_list=>"TRANSCENDANCE", :synopsis=>"Dans un futur proche, un groupe de scientifiques tente de concevoir le premier ordinateur dot\u00E9 d\u2019une conscience et capable r\u00E9fl\u00E9chir de mani\u00E8re autonome. Ils doivent faire face aux attaques de terroristes anti-technologie qui voient dans ce projet une menace pour l\u2019esp\u00E8ce humaine. Lorsque le scientifique \u00E0 la t\u00EAte du projet est assassin\u00E9, sa femme se sert de l\u2019avanc\u00E9e de ses travaux pour \"transcender\" l\u2019esprit de son mari dans le premier super ordinateur de l\u2019histoire. Pouvant d\u00E9sormais contr\u00F4ler tous les r\u00E9seaux li\u00E9s \u00E0 internet, il devient ainsi quasi omnipotent. Mais comment l\u2019arr\u00EAter s\u2019il perdait ce qui lui reste d\u2019humanit\u00E9 ?", :genre=>["Drame", "Myst\u00E8re", "Science-Fiction", "Thriller"], :poster=>"http://image.tmdb.org/t/p/w500//ikonFy0ooG8sj5ei7FGQ8RJ70NW.jpg", :casting=>{0=>{:role=>"Will", :name=>"Johnny Depp"}, 1=>{:role=>"Max", :name=>"Paul Bettany"}, 2=>{:role=>"Evelyn", :name=>"Rebecca Hall"}}}, "PLANES 2"=>{:id=>218836, :title=>"Planes 2", :title_list=>"PLANES 2", :synopsis=>"Quand Dusty apprend que son moteur est endommag\u00E9 et qu\u2019il ne pourra peut-\u00EAtre plus jamais participer \u00E0 une course, il d\u00E9cide de changer de voie et de se lancer dans la guerre contre le feu au sein d\u2019une \u00E9quipe improbable en charge de la protection du parc national de Piston Peak. Il joint ainsi ses forces \u00E0 celles de l\u2019h\u00E9licopt\u00E8re de secours Blade Ranger et de sa courageuse \u00E9quipe de l\u2019air dont la tr\u00E8s vive Lil\u2019Dipper, l\u2019h\u00E9licopt\u00E8re de transports lourds Windlifter, l\u2019ancien transporteur militaire Cabbie et une bande de courageux v\u00E9hicules tous-terrains. Dans leur bataille contre les incendies, Dusty va d\u00E9couvrir combien il en co\u00FBte pour devenir un vrai h\u00E9ros\u2026", :genre=>["Aventure", "Animation", "Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//f4Bk6lNAFs0QLDKCSo66NH3fvc5.jpg", :casting=>{0=>{:role=>"Dusty Crophopper (voice)", :name=>"Dane Cook"}, 1=>{:role=>"Dipper (voice)", :name=>"Julie Bowen"}, 2=>{:role=>"Dynamite (voice)", :name=>"Regina King"}}}}}
|
124
|
+
#Configure file path
|
125
|
+
MoviesClient.configure_file_path('../../data/PROG_GB_JUILLET_2014.ods')
|
126
|
+
#Configure api key
|
127
|
+
MoviesClient.configure_api_key('7f0b035c164b74d6eec69ebcd8ff8d12')
|
128
|
+
#Parse the whole ods file
|
129
|
+
@programme = MoviesClient.parse_ods
|
130
|
+
#Get the movie list
|
131
|
+
movie_list = MoviesClient.get_movie
|
132
|
+
#Get the movie information from the list
|
133
|
+
@movie_info = MoviesClient.get_movie_info_from_list(movie_list, 'w500')
|
134
|
+
#Assemble programme with movie information
|
135
|
+
@result = MoviesClient.assemble_prog_with_info(@programme, @movie_info)
|
136
|
+
#Check
|
137
|
+
puts @result
|
138
|
+
assert_equal result_expected, @result
|
139
|
+
assert_equal 'LES RHODOS VILLAGE', @result[:cinema1]
|
140
|
+
assert_equal 'LE CHARMIEUX CHINAILLON', @result[:cinema2]
|
141
|
+
assert_equal 'SOUS LES JUPES DES FILLES', @result[:daily_schedule]["5"][:film1]
|
142
|
+
assert_equal 'BABYSITTING', @result[:daily_schedule]["5"][:film2]
|
143
|
+
assert_equal '17h30', @result[:daily_schedule]["5"][:horaire1]
|
144
|
+
assert_equal 'http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg', @result[:result]["SOUS LES JUPES DES FILLES"][:poster]
|
145
|
+
end
|
146
|
+
|
147
|
+
should 'do the all process with day' do
|
148
|
+
#Define result expected
|
149
|
+
result_expected = {}
|
150
|
+
@result = MoviesClient.select_daily_program('../../data/PROG_GB_JUILLET_2014.ods', '7f0b035c164b74d6eec69ebcd8ff8d12', 'w500', '5')
|
151
|
+
assert_equal result_expected, @result
|
152
|
+
end
|
153
|
+
|
154
|
+
|
155
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#ENCODING:UTF-8
|
2
|
+
require "rubygems"
|
3
|
+
gem "shoulda"
|
4
|
+
require "test/unit"
|
5
|
+
require "shoulda"
|
6
|
+
require "movies_client"
|
7
|
+
require "movies_client/movies_object"
|
8
|
+
|
9
|
+
class MovieObjectTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
should 'populate retrieve precise element' do
|
12
|
+
hash_result = {:mois=>"JUILLET", :cinema1=>"LES RHODOS VILLAGE", :cinema2=>"LE CHARMIEUX CHINAILLON", :daily_schedule=>{"5"=>{:horaire1=>"17h30", :film1=>"SOUS LES JUPES DES FILLES", :date=>"SAM 5", :film2=>"BABYSITTING", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"BABYSITTING"}, "6"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"DIM 6", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21H", :film3=>"DE TOUTES NOS FORCES", :film4=>"SOUS LES JUPES DES FILLES"}, "7"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"LUN 7", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"DE TOUTES NOS FORCES"}, "8"=>{:horaire1=>"17h30", :film1=>"BARBECUE", :date=>"MAR 8", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21H", :film3=>"BABYSITTING", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "9"=>{:horaire1=>"17h30", :film1=>"LA LISTE DE MES ENVIES", :date=>"MER 9", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"MALEFIQUE", :film4=>"BARBECUE"}, "10"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"JEU 10", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "11"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"VEN 11", :film2=>"SOUS LES JUPES DES FILLES", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"DEUX JOURS, UNE NUIT"}, "12"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"SAM 12", :film2=>"BABYSITTING", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "13"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"DIM 13 ", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>nil, :film3=>nil, :film4=>nil}, "14"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"LUN 14", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"LA LISTE DE MES ENVIES", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "15"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MAR 15", :film2=>"LA RITOURNELLE", :horaire2=>"21H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"LA LISTE DE MES ENVIES"}, "16"=>{:horaire1=>"17h30", :film1=>"DEUX JOURS, UNE NUIT", :date=>"MER 16", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"ON A FAILLI \u00CATRE AMIES", :film4=>"SOUS LES JUPES DES FILLES"}, "17"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"JEU 17", :film2=>"RIO 2", :horaire2=>"21H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "18"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"VEN 18", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "19"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"SAM 19", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "20"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"DIM 20", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "21"=>{:horaire1=>"17h30", :film1=>"RIO 2", :date=>"LUN 21", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "22"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"MAR 22", :film2=>"RIO 2", :horaire2=>"21 H", :film3=>"LA RITOURNELLE", :film4=>"TRANSCENDANCE"}, "23"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"MER 23", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"LA RITOURNELLE"}, "24"=>{:horaire1=>"17h30", :film1=>"DE TOUTES NOS FORCES", :date=>"JEU 24", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "25"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"VEN 25", :film2=>"MALEFIQUE", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "26"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"SAM 26", :film2=>"DRAGONS 2", :horaire2=>"21 H", :film3=>"TRANSCENDANCE", :film4=>"SOUS LES JUPES DES FILLES"}, "27"=>{:horaire1=>"17h30", :film1=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :date=>"DIM 27", :film2=>"PLANES 2", :horaire2=>"21 H", :film3=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :film4=>"ON A FAILLI \u00CATRE AMIES"}, "28"=>{:horaire1=>"17h30", :film1=>"LES VACANCES DU PETIT NICOLAS", :date=>"LUN 28", :film2=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :horaire2=>"21 H", :film3=>"LES VACANCES DU PETIT NICOLAS", :film4=>"QU'EST CE QU'ON A FAIT AU BON DIEU\u00A0?"}, "29"=>{:horaire1=>"17h30", :film1=>"MALEFIQUE", :date=>"MAR 29", :film2=>"LES VACANCES DU PETIT NICOLAS", :horaire2=>"21 H", :film3=>"TRANSFORMERS:L'AGE DE L'EXTINCTION", :film4=>"LES VACANCES DU PETIT NICOLAS"}, "30"=>{:horaire1=>"17h30", :film1=>"DRAGONS 2", :date=>"MER 30", :film2=>"DE TOUTES NOS FORCES", :horaire2=>"21 H", :film3=>"SOUS LES JUPES DES FILLES", :film4=>"TRANSFORMERS:L'AGE DE L'EXTINCTION"}, "31"=>{:horaire1=>"17h30", :film1=>"PLANES 2", :date=>"JEU 31", :film2=>"DRAGONS 2"}}, :result=>{"SOUS LES JUPES DES FILLES"=>{:id=>273169, :title=>"Sous les jupes des filles", :title_list=>"SOUS LES JUPES DES FILLES", :synopsis=>"Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg", :casting=>{0=>{:role=>"Lily", :name=>"Isabelle Adjani"}, 1=>{:role=>"Adeline", :name=>"Alice Bela\u00EFdi"}, 2=>{:role=>"Agathe", :name=>"Laetitia Casta"}}}, "BABYSITTING"=>{:id=>262551, :title=>"Babysitting", :title_list=>"BABYSITTING", :synopsis=>"Faute de baby-sitter pour le week-end, Marc Schaudel confie son fils Remy \u00E0 Franck, son employ\u00E9, \"un type s\u00E9rieux\" selon lui. Sauf que Franck a 30 ans ce soir et que R\u00E9my est un sale gosse capricieux. Au petit matin, Marc et sa femme Claire sont r\u00E9veill\u00E9s par un appel de la police. R\u00E9my et Franck ont disparu ! Au milieu de leur maison saccag\u00E9e, la police a retrouv\u00E9 une cam\u00E9ra. Marc et Claire d\u00E9couvrent hallucin\u00E9s les images tourn\u00E9es pendant la soir\u00E9e.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//q2t1UVpyf8K7cAqyBz7Nl91gNl9.jpg", :casting=>{0=>{:role=>"Franck", :name=>"Philippe Lacheau"}, 1=>{:role=>"Sonia", :name=>"Alice David"}, 2=>{:role=>"Ernest", :name=>"Vincent Desagnat"}}}, "DEUX JOURS UNE NUIT"=>{:id=>221902, :title=>"Deux jours, une nuit", :title_list=>"DEUX JOURS UNE NUIT", :synopsis=>"Sandra, aid\u00E9e par son mari, n\u2019a qu\u2019un week-end pour aller voir ses coll\u00E8gues et les convaincre de renoncer \u00E0 leur prime pour qu\u2019elle puisse garder son travail.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//iFzsuRqrt3qNBiwacZxHZdH481I.jpg", :casting=>{0=>{:role=>"Sandra", :name=>"Marion Cotillard"}, 1=>{:role=>"", :name=>"Fabrizio Rongione"}, 2=>{:role=>"", :name=>"Olivier Gourmet"}}}, "DE TOUTES NOS FORCES"=>{:id=>214087, :title=>"De toutes nos forces", :title_list=>"DE TOUTES NOS FORCES", :synopsis=>"Comme tous les adolescents, Julien r\u00EAve d\u2019aventures et de sensations fortes. Mais lorsqu\u2019on vit dans un fauteuil roulant, ces r\u00EAves-l\u00E0 sont difficilement r\u00E9alisables. Pour y parvenir, il met au d\u00E9fi son p\u00E8re de concourir avec lui au triathlon \u00AB Ironman \u00BB de Nice: une des \u00E9preuves sportives les plus difficiles qui soit. Autour d\u2019eux, c\u2019est toute une famille qui va se reconstruire pour tenter d\u2019aller au bout de cet incroyable exploit.", :genre=>["Drame"], :poster=>"http://image.tmdb.org/t/p/w500//mv5oZmfGE1MLPNFo8Q0xe7z6cZX.jpg", :casting=>{0=>{:role=>"Paul Amblard", :name=>"Jacques Gamblin"}, 1=>{:role=>"Claire Amblard", :name=>"Alexandra Lamy"}, 2=>{:role=>"Julien Amblard", :name=>"Fabien H\u00E9raud"}}}, "QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?"=>{:id=>262391, :title=>"Qu'est-ce qu'on a fait au Bon Dieu", :title_list=>"QU EST CE QU'ON A FAIT AU BON DIEU\u00A0?", :synopsis=>"Claude et Marie Verneuil, issus de la grande bourgeoisie catholique provinciale sont des parents plut\u00F4t \"vieille France\". Mais ils se sont toujours oblig\u00E9s \u00E0 faire preuve d'ouverture d'esprit...Les pilules furent cependant bien difficiles \u00E0 avaler quand leur premi\u00E8re fille \u00E9pousa un musulman, leur seconde un juif et leur troisi\u00E8me un chinois. Leurs espoirs de voir enfin l'une d'elles se marier \u00E0 l'\u00E9glise se cristallisent donc sur la cadette, qui, all\u00E9luia, vient de rencontrer un bon catholique.", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//uUiyiGtMKSmTQyQ2j8hIwi4ah9W.jpg", :casting=>{0=>{:role=>"Claude Verneuil", :name=>"Christian Clavier"}, 1=>{:role=>"Marie Verneuil", :name=>"Chantal Lauby"}, 2=>{:role=>"David Benichou", :name=>"Ary Abittan"}}}, "RIO 2"=>{:id=>172385, :title=>"Rio 2", :title_list=>"RIO 2", :synopsis=>"Blu a pris son envol et se sent d\u00E9sormais chez lui \u00E0 Rio de Janeiro, aux c\u00F4t\u00E9s de Perla et de leurs trois enfants. Mais la vie de perroquet ne s\u2019apprend pas en ville et Perla insiste pour que la famille s\u2019installe dans la for\u00EAt amazonienne. Alors que Blu essaie de s\u2019habituer \u00E0 ses nouveaux voisins, il s\u2019inqui\u00E8te de voir Perla et ses enfants beaucoup plus r\u00E9ceptifs \u00E0 l\u2019appel de la jungle.", :genre=>["Animation", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//w8alkJlkAaekbxsAani7qccE61P.jpg", :casting=>{0=>{:role=>"Blu (voice)", :name=>"Jesse Eisenberg"}, 1=>{:role=>"Jewel (voice)", :name=>"Anne Hathaway"}, 2=>{:role=>"Linda (voice)", :name=>"Leslie Mann"}}}, "BARBECUE"=>{:id=>250349, :title=>"Barbecue", :title_list=>"BARBECUE", :synopsis=>"Pour ses 50 ans, Antoine a re\u00E7u un cadeau original : un infarctus. A partir de maintenant, il va devoir \u00ABfaire attention\u00BB. Or, Antoine a pass\u00E9 sa vie enti\u00E8re \u00E0 faire attention : attention \u00E0 sa sant\u00E9, \u00E0 ce qu'il mangeait, attention \u00E0 sa famille, \u00E0 accepter les travers de ses amis, et \u00E0 avaler de trop nombreuses couleuvres\u2026 D\u00E9sormais, il va adopter un nouveau r\u00E9gime. Mais en voulant changer sa vie, on change forc\u00E9ment celle des autres", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//20ZniTaQ4tIQJQOfWZ4bpps8jmx.jpg", :casting=>{0=>{:role=>"Antoine", :name=>"Lambert Wilson"}, 1=>{:role=>"Baptiste", :name=>"Franck Dubosc"}, 2=>{:role=>"Olivia", :name=>"Florence Foresti"}}}, "LA LISTE DE MES ENVIES"=>{:id=>277230, :title=>"La Liste de mes envies", :title_list=>"LA LISTE DE MES ENVIES", :synopsis=>"Lorsque la petite merci\u00E8re d\u2019Arras d\u00E9couvre qu\u2019elle a gagn\u00E9 18 millions \u00E0 la loterie et qu\u2019elle peut d\u00E9sormais s\u2019offrir tout ce qu\u2019elle veut, elle n\u2019a qu\u2019une crainte : perdre cette vie modeste faite de bonheurs simples qu\u2019elle ch\u00E9rit par-dessus tout. Mais le destin est obstin\u00E9, et c\u2019est en renon\u00E7ant trop longtemps \u00E0 cette bonne fortune qu\u2019elle va d\u00E9clencher, bien malgr\u00E9 elle, un ouragan qui va tout changer. Tout, sauf elle.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//vfAgOQDgJLVAdi7rVuERl1XmeXR.jpg", :casting=>{0=>{:role=>"Jocelyne Guerbette", :name=>"Mathilde Seigner"}, 1=>{:role=>"Jo Guerbette", :name=>"Marc Lavoine"}, 2=>{:role=>"Danielle 2", :name=>"Fr\u00E9d\u00E9rique Bel"}}}, "DRAGONS 2"=>{:id=>82702, :title=>"Dragons 2", :title_list=>"DRAGONS 2", :synopsis=>"Tandis qu\u2019Astrid, Rustik et le reste de la bande se d\u00E9fient durant des courses sportives de dragons devenues populaires sur l\u2019\u00EEle, notre duo d\u00E9sormais ins\u00E9parable parcourt les cieux, \u00E0 la d\u00E9couverte de territoires inconnus et de nouveaux mondes. Au cours de l\u2019une de leurs aventures, ils d\u00E9couvrent une grotte secr\u00E8te qui abrite des centaines de dragons sauvages, dont le myst\u00E9rieux Dragon Rider. Les deux amis se retrouvent alors au centre d\u2019une lutte visant \u00E0 maintenir la paix. Harold et Krokmou vont se battre pour d\u00E9fendre leurs valeurs et pr\u00E9server le destin des hommes et des dragons.", :genre=>["Action", "Aventure", "Animation", "Com\u00E9die", "Fantastique", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//ePUTpNWfcmYnuznobGdZC27UnrT.jpg", :casting=>{0=>{:role=>"Hiccup (voice)", :name=>"Jay Baruchel"}, 1=>{:role=>"Stoick the Vast (voice)", :name=>"Gerard Butler"}, 2=>{:role=>"Ruffnut (voice)", :name=>"Kristen Wiig"}}}, "MALEFIQUE"=>{:id=>102651, :title=>"Mal\u00E9fique", :title_list=>"MALEFIQUE", :synopsis=>"L\u2019histoire in\u00E9dite de Mal\u00E9fique, la tr\u00E8s aim\u00E9e m\u00E9chante du classique Disney de 1959 \"La Belle au Bois Dormant\". Le film r\u00E9v\u00E8le les \u00E9v\u00E9nements qui lui ont endurci le c\u0153ur et l\u2019ont conduite \u00E0 jeter un mauvais sort \u00E0 la petite Aurore.", :genre=>["Action", "Aventure", "Fantastique", "Romance", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//Af8XwQ3FAhB0BwenZSHxoByPUvx.jpg", :casting=>{0=>{:role=>"Maleficent", :name=>"Angelina Jolie"}, 1=>{:role=>"Princess Aurora", :name=>"Elle Fanning"}, 2=>{:role=>"Thistletwit", :name=>"Juno Temple"}}}, "ON A FAILLI \u00CATRE AMIES"=>{:id=>270342, :title=>"On a failli \u00EAtre amies", :title_list=>"ON A FAILLI \u00CATRE AMIES", :synopsis=>"Marith\u00E9 se voue \u00E0 son travail de formatrice avec ardeur. Elle souhaite que ses stagiaires sortent de formation en ayant d\u00E9couvert leur voie. Avec Carole, une \u00E9pouse d\u00E9vou\u00E9e, sa mission va aller au-del\u00E0 puisque celle-ci, prenant conscience de ses possibilit\u00E9s, quitte son mari. Une relation amoureuse s'installe entre les deux femmes.", :genre=>[], :poster=>"http://image.tmdb.org/t/p/w500//9ovCeQznt4ZLxL1zICSrx9crOLz.jpg", :casting=>{0=>{:role=>"Marith\u00E9", :name=>"Karin Viard"}, 1=>{:role=>"Carole Drissi", :name=>"Emmanuelle Devos"}, 2=>{:role=>"Sam Drissi", :name=>"Roschdy Zem"}}}, "LA RITOURNELLE"=>{:id=>258435, :title=>"La Ritournelle", :title_list=>"LA RITOURNELLE", :synopsis=>"Brigitte et Xavier sont \u00E9leveurs bovins en Normandie. Elle est r\u00EAveuse, la t\u00EAte dans les \u00E9toiles. Lui, les pieds ancr\u00E9s dans la terre, vit surtout pour son m\u00E9tier. Avec le d\u00E9part des enfants, la routine de leur couple p\u00E8se de plus en plus \u00E0 Brigitte. Un jour, sur un coup de folie, elle prend la clef des champs. Destination : Paris. Xavier r\u00E9alise alors qu\u2019il est peut-\u00EAtre en train de la perdre. Parviendront-ils \u00E0 se retrouver ? Et comment se r\u00E9inventer, apr\u00E8s toutes ces ann\u00E9es ? La reconqu\u00EAte emprunte parfois des chemins de traverse...", :genre=>["Com\u00E9die"], :poster=>"http://image.tmdb.org/t/p/w500//jeoslytSa0tjS9KqePB9VqJnNhq.jpg", :casting=>{0=>{:role=>"Brigitte Lecanu", :name=>"Isabelle Huppert"}, 1=>{:role=>"Xavier Lecanu", :name=>"Jean-Pierre Darroussin"}, 2=>{:role=>"Jesper", :name=>"Michael Nyqvist"}}}, "LES VACANCES DU PETIT NICOLAS"=>{:id=>277368, :title=>"Les vacances du petit Nicolas", :title_list=>"LES VACANCES DU PETIT NICOLAS", :synopsis=>"C\u2019est la fin de l\u2019ann\u00E9e scolaire. Le moment tant attendu des vacances est arriv\u00E9.Le petit Nicolas, ses parents et M\u00E9m\u00E9 prennent la route en direction de la mer, et s\u2019installent pour quelques temps \u00E0 l\u2019H\u00F4tel Beau-Rivage.", :genre=>["Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//vBJQc8gZh5WOxyDxFIAU1SruKY8.jpg", :casting=>{0=>{:role=>"Le petit Nicolas", :name=>"Math\u00E9o Boisselier"}, 1=>{:role=>"La m\u00E8re de Nicolas", :name=>"Val\u00E9rie Lemercier"}, 2=>{:role=>"Le p\u00E8re de Nicolas", :name=>"Kad Merad"}}}, "TRANSFORMERS L AGE DE L'EXTINCTION"=>{:id=>91314, :title=>"Transformers : L'\u00C2ge de l'Extinction", :title_list=>"TRANSFORMERS L AGE DE L'EXTINCTION", :synopsis=>"Alors que l\u2019humanit\u00E9 panse ses plaies, apr\u00E8s les \u00E9v\u00E9nements de Transformers : La Face cach\u00E9e de la Lune, les Autobots et les Decepticons ont disparu de la surface de la Terre. Mais un groupe form\u00E9 de financiers et scientifiques puissants et ing\u00E9nieux \u00E9tudient les invasions successives des Transformers, afin de repousser les limites de la technologie au-del\u00E0 de ce qu\u2019ils peuvent contr\u00F4ler. Et pendant ce temps, une menace Transformer ancienne et puissante prend la Terre pour cible.", :genre=>["Action", "Aventure", "Science-Fiction"], :poster=>"http://image.tmdb.org/t/p/w500//9NCPIUbqgAcRYwex4pCg9s20jun.jpg", :casting=>{0=>{:role=>"Cade Yeager", :name=>"Mark Wahlberg"}, 1=>{:role=>"Joshua", :name=>"Stanley Tucci"}, 2=>{:role=>"Tessa Yeager", :name=>"Nicola Peltz"}}}, "TRANSCENDANCE"=>{:id=>157353, :title=>"Transcendance", :title_list=>"TRANSCENDANCE", :synopsis=>"Dans un futur proche, un groupe de scientifiques tente de concevoir le premier ordinateur dot\u00E9 d\u2019une conscience et capable r\u00E9fl\u00E9chir de mani\u00E8re autonome. Ils doivent faire face aux attaques de terroristes anti-technologie qui voient dans ce projet une menace pour l\u2019esp\u00E8ce humaine. Lorsque le scientifique \u00E0 la t\u00EAte du projet est assassin\u00E9, sa femme se sert de l\u2019avanc\u00E9e de ses travaux pour \"transcender\" l\u2019esprit de son mari dans le premier super ordinateur de l\u2019histoire. Pouvant d\u00E9sormais contr\u00F4ler tous les r\u00E9seaux li\u00E9s \u00E0 internet, il devient ainsi quasi omnipotent. Mais comment l\u2019arr\u00EAter s\u2019il perdait ce qui lui reste d\u2019humanit\u00E9 ?", :genre=>["Drame", "Myst\u00E8re", "Science-Fiction", "Thriller"], :poster=>"http://image.tmdb.org/t/p/w500//ikonFy0ooG8sj5ei7FGQ8RJ70NW.jpg", :casting=>{0=>{:role=>"Will", :name=>"Johnny Depp"}, 1=>{:role=>"Max", :name=>"Paul Bettany"}, 2=>{:role=>"Evelyn", :name=>"Rebecca Hall"}}}, "PLANES 2"=>{:id=>218836, :title=>"Planes 2", :title_list=>"PLANES 2", :synopsis=>"Quand Dusty apprend que son moteur est endommag\u00E9 et qu\u2019il ne pourra peut-\u00EAtre plus jamais participer \u00E0 une course, il d\u00E9cide de changer de voie et de se lancer dans la guerre contre le feu au sein d\u2019une \u00E9quipe improbable en charge de la protection du parc national de Piston Peak. Il joint ainsi ses forces \u00E0 celles de l\u2019h\u00E9licopt\u00E8re de secours Blade Ranger et de sa courageuse \u00E9quipe de l\u2019air dont la tr\u00E8s vive Lil\u2019Dipper, l\u2019h\u00E9licopt\u00E8re de transports lourds Windlifter, l\u2019ancien transporteur militaire Cabbie et une bande de courageux v\u00E9hicules tous-terrains. Dans leur bataille contre les incendies, Dusty va d\u00E9couvrir combien il en co\u00FBte pour devenir un vrai h\u00E9ros\u2026", :genre=>["Aventure", "Animation", "Com\u00E9die", "Familial"], :poster=>"http://image.tmdb.org/t/p/w500//f4Bk6lNAFs0QLDKCSo66NH3fvc5.jpg", :casting=>{0=>{:role=>"Dusty Crophopper (voice)", :name=>"Dane Cook"}, 1=>{:role=>"Dipper (voice)", :name=>"Julie Bowen"}, 2=>{:role=>"Dynamite (voice)", :name=>"Regina King"}}}}}
|
13
|
+
@cinema_object = MoviesObject.new(hash_result)
|
14
|
+
assert_equal 'JUILLET' , @cinema_object.mois
|
15
|
+
assert_equal 'LES RHODOS VILLAGE' , @cinema_object.cine1
|
16
|
+
assert_equal 'LE CHARMIEUX CHINAILLON' , @cinema_object.cine2
|
17
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @cinema_object.film1(5)
|
18
|
+
assert_equal 'BABYSITTING' , @cinema_object.film2(5)
|
19
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @cinema_object.film3(5)
|
20
|
+
assert_equal 'BABYSITTING' , @cinema_object.film4(5)
|
21
|
+
assert_equal '17h30' , @cinema_object.horaire1(5)
|
22
|
+
assert_equal '21H' , @cinema_object.horaire2(5)
|
23
|
+
assert_equal '273169' , @cinema_object.id(@cinema_object.film1(5))
|
24
|
+
assert_equal 'Sous les jupes des filles' , @cinema_object.title(@cinema_object.film1(5))
|
25
|
+
assert_equal 'SOUS LES JUPES DES FILLES' , @cinema_object.title_list(@cinema_object.film1(5))
|
26
|
+
assert_equal "Paris. 28 premiers jours du printemps. 11 femmes.\r M\u00E8res de famille, femmes d'affaires, copines, ma\u00EEtresses ou \u00E9pouses...\r Toutes repr\u00E9sentent une facette de la femme d'aujourd'hui : Complexes, joyeuses, complex\u00E9es, explosives, insolentes, surprenantes... Bref, un \u00EAtre paradoxal, totalement d\u00E9boussol\u00E9, d\u00E9finitivement vivant, FEMMES tout simplement !" , @cinema_object.overview(@cinema_object.film1(5))
|
27
|
+
assert_equal 'http://image.tmdb.org/t/p/w500//qtdx6rnatFNT3xSXcQzGzRAX24H.jpg' , @cinema_object.poster(@cinema_object.film1(5))
|
28
|
+
end
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: movies_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- jeanbaptistevilain
|
8
|
+
- SimonRonzani
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-09-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.6'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.6'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: test-unit
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ! '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: shoulda
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: roo
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: spreadsheet
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 1.0.0
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 1.0.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: themoviedb
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
description: specific parser for cinema and showtimes information
|
113
|
+
email:
|
114
|
+
- jbvilain@gmail.com
|
115
|
+
- ronzani.simon@gmail.com
|
116
|
+
executables: []
|
117
|
+
extensions: []
|
118
|
+
extra_rdoc_files: []
|
119
|
+
files:
|
120
|
+
- .gitignore
|
121
|
+
- Gemfile
|
122
|
+
- LICENSE.txt
|
123
|
+
- README.md
|
124
|
+
- Rakefile
|
125
|
+
- data/PROG_GB_AOUT_2014.ods
|
126
|
+
- data/PROG_GB_JUILLET_2014.ods
|
127
|
+
- lib/movies_client.rb
|
128
|
+
- lib/movies_client/attribute_helper.rb
|
129
|
+
- lib/movies_client/movies_object.rb
|
130
|
+
- lib/movies_client/version.rb
|
131
|
+
- movies_client.gemspec
|
132
|
+
- test/movies_client_test.rb
|
133
|
+
- test/movies_object_test.rb
|
134
|
+
homepage: https://github.com/jeanbaptistevilain/movies_client
|
135
|
+
licenses:
|
136
|
+
- MIT
|
137
|
+
metadata: {}
|
138
|
+
post_install_message:
|
139
|
+
rdoc_options: []
|
140
|
+
require_paths:
|
141
|
+
- lib
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ! '>='
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ! '>='
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
requirements: []
|
153
|
+
rubyforge_project:
|
154
|
+
rubygems_version: 2.4.1
|
155
|
+
signing_key:
|
156
|
+
specification_version: 4
|
157
|
+
summary: Parse ods file with roo, get information about movie from the TMDB API
|
158
|
+
test_files:
|
159
|
+
- test/movies_client_test.rb
|
160
|
+
- test/movies_object_test.rb
|