movies_client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in movies_client.gemspec
4
+ gemspec
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,11 @@
1
+ module AttributeHelper
2
+ def attributes=(hash)
3
+ hash.each do |key, value|
4
+ instance_variable_set("@#{key}", value)
5
+ end
6
+ end
7
+
8
+ def attributes
9
+ Hash[instance_variables.map { |name| [name.to_s[1..-1], instance_variable_get(name)] }]
10
+ end
11
+ 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,3 @@
1
+ module MoviesClient
2
+ VERSION = "0.0.1"
3
+ 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