imdb_lists 1.0.4 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ .DS_Store
@@ -0,0 +1,59 @@
1
+ # IMDb Lists
2
+
3
+ Get easy access to any public [IMDb](http://www.imdb.com/) [movie list](http://www.imdb.com/lists).
4
+
5
+ ## How to use
6
+
7
+ ### Find by url
8
+
9
+ ``` ruby
10
+ require "imdb_lists"
11
+ result = ImdbLists.fetch("http://www.imdb.com/user/ur10777143/ratings")
12
+
13
+ result.movies.count # => 693
14
+ result.movies.first.title # => Die Hard
15
+ ```
16
+
17
+ ## Data to work with
18
+
19
+ ### Accessors
20
+
21
+ - **name** (String) List name.
22
+ - **url** (String) Full URL to the IMDb list itself.
23
+ - **movies** (Array) A list of movies.
24
+ - **csv** (String) Url to movie CSV file.
25
+
26
+ ### A movie object
27
+
28
+ The `movies` method returns a list of movies.
29
+
30
+ - **id** (String) IMDb movie id.
31
+ - **title** (String) Movie title.
32
+ - **directors** (Array< String >) A list of directors.
33
+ - **rating** (Fixnum) Movie rating, from 0.0 to 10.0.
34
+ - **runtime** (Fixnum) Runtime in minutes.
35
+ - **genres** (Array< String >) A list of genres.
36
+ - **votes** (Fixnum) The amount of votes.
37
+ - **released_at** (Time) When was the movie released?
38
+ - **details** Url to a [IMDb details](http://www.imdb.com/title/tt0095016/) page.
39
+ - **created_at** When was it added to the given list?
40
+
41
+ #### Only for [vote lists](http://www.imdb.com/user/ur10777143/ratings)
42
+
43
+ - **you_rated** (Fixnum) Your rating, from 0.0 to 10.0.
44
+
45
+ ## How do install
46
+
47
+ [sudo] gem install imdb_lists
48
+
49
+ ## How to use it in a rails 3 project
50
+
51
+ Add `gem 'imdb_lists'` to your Gemfile and run `bundle`.
52
+
53
+ ## Requirements
54
+
55
+ *IMDb Lists* is tested in OS X 10.6.6, 10.7.1 using Ruby 1.9.2.
56
+
57
+ ## License
58
+
59
+ *IMDb Lists* is released under the MIT license.
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "imdb_lists"
6
- s.version = "1.0.4"
6
+ s.version = "2.0.2"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Linus Oleander"]
9
9
  s.email = ["linus@oleander.nu"]
@@ -18,9 +18,11 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.add_dependency("rest-client")
20
20
  s.add_dependency("nokogiri")
21
- s.add_dependency("movie_searcher")
22
- s.add_dependency("abstract")
21
+ s.add_dependency("titleize")
23
22
 
23
+ s.add_development_dependency("vcr")
24
24
  s.add_development_dependency("rspec")
25
25
  s.add_development_dependency("webmock")
26
+
27
+ s.required_ruby_version = ">= 1.9.2"
26
28
  end
@@ -1,36 +1,173 @@
1
1
  require "nokogiri"
2
2
  require "rest-client"
3
- require "imdb_lists/container"
4
- require "imdb_lists/history"
5
- require "imdb_lists/watchlist"
3
+ require "uri"
4
+ require "titleize"
5
+ require "csv"
6
+ require "time"
7
+ require "imdb_lists/object"
6
8
 
7
- module ImdbLists
8
- # Fetches movies for the given URL.
9
- # Returns an ImdbVoteHistory object.
10
- # The URL must be valid, otherwise an argument error will be raised.
11
- # Example of valid URL:
12
- # => http://www.imdb.com/mymovies/list?l=32558051
13
- # => http://www.imdb.com/list/2BZy80bxY2U
14
- def self.find_by_url(url)
15
- url = url.to_s
16
- if url =~ /imdb\.com\/mymovies\/list\?l=(\d{2,})/i
17
- ImdbLists::History.new($1)
18
- elsif url =~ /imdb\.com\/list\/([^\/]+)/i
19
- ImdbLists::Watchlist.new($1)
20
- else
21
- raise ArgumentError.new("The url #{url} is invalid")
9
+ class ImdbLists
10
+ attr_reader :url
11
+
12
+ #
13
+ # @url String A valid IMDb list url
14
+ # Like this; http://www.imdb.com/list/qJi7_i3l25Y/
15
+ #
16
+ def initialize(url)
17
+ @url = url
18
+ @movie = Struct.new(
19
+ :id,
20
+ :created_at,
21
+ :title,
22
+ :directors,
23
+ :you_rated,
24
+ :rating,
25
+ :runtime,
26
+ :year,
27
+ :genres,
28
+ :votes,
29
+ :released_at,
30
+ :details
31
+ )
32
+ end
33
+
34
+ #
35
+ # @url String A valid IMDb list url.
36
+ # @return ImdbLists object.
37
+ # Like this; http://www.imdb.com/list/qJi7_i3l25Y/
38
+ # Raises an ArgumentError if the given url is invalid.
39
+ #
40
+ def self.fetch(url)
41
+ this = ImdbLists.new(url)
42
+ unless this.is_url_valid?
43
+ raise ArgumentError.new("Invalid url")
44
+ end
45
+
46
+ return this
47
+ end
48
+
49
+ #
50
+ # @return String A url to the CVS file.
51
+ #
52
+ def csv
53
+ if csv = content.at_css(".export a").try(:attr, "href")
54
+ @_csv ||= "http://www.imdb.com%s" % csv
22
55
  end
23
56
  end
24
57
 
25
- # Fetches movies for the given ID.
26
- # Returns an ImdbVoteHistory object.
27
- def self.find_by_id(id)
28
- if id.to_s.match(/^\d{2,}$/)
29
- ImdbLists::History.new(id)
30
- elsif id.to_s.match(/^\w{2,}$/)
31
- ImdbLists::Watchlist.new(id)
32
- else
33
- raise ArgumentError.new("The id #{id} is invalid")
58
+ #
59
+ # @return String Name for the given list.
60
+ #
61
+ def name
62
+ @_user ||= content.at_css("h1.header").try(:content)
63
+ end
64
+
65
+ #
66
+ # @return Array<Movie> A list of movies
67
+ #
68
+ def movies
69
+ return @_movies if @_movies
70
+ return [] unless csv
71
+ vote_list = csv_content.first.count != 15
72
+
73
+ @_movies ||= csv_content[1..-1].map do |movie|
74
+ if vote_list
75
+ create_movie_from_vote_list(movie)
76
+ else
77
+ create_movie_from_regular_list(movie)
78
+ end
34
79
  end
35
80
  end
81
+
82
+ #
83
+ # Is @url a valid url?
84
+ # @return Boolean Valid?
85
+ #
86
+ def is_url_valid?
87
+ !! @url.to_s.match(url_validator)
88
+ end
89
+
90
+ private
91
+ #
92
+ # Trying to parse the given string {time}
93
+ # IMDb sometimes returns a strange string
94
+ # This is why this method exists
95
+ # @time String Should be parseable by Time.parse
96
+ # @return Time An time object
97
+ #
98
+ def parse_time(time)
99
+ if time =~ /^(\d{4})$/
100
+ return Time.parse("#{$1}-01-01")
101
+ elsif time =~ /(\d{4}-\d{2})/
102
+ return Time.parse("#{$1}-01")
103
+ end
104
+
105
+ Time.parse(time)
106
+ end
107
+
108
+ #
109
+ # Converting the given list of values to a movie object
110
+ # This is for a regular list; http://www.imdb.com/list/qJi7_i3l25Y/
111
+ # @movie Array<String> A list of values
112
+ # @return A Struct Movie object.
113
+ #
114
+ def create_movie_from_regular_list(movie)
115
+ @movie.new(
116
+ movie[1], # id
117
+ parse_time(movie[2]), # created_at
118
+ movie[5].titleize, # title
119
+ movie[7].split(", "), # directors
120
+ nil, # you_rated
121
+ movie[8].to_f, # rating
122
+ movie[9].to_i, # runtime
123
+ movie[10].to_i, # year
124
+ movie[11].split(", ").map(&:titleize), # genres
125
+ movie[12].to_i, # votes
126
+ parse_time(movie[13]), # released_at
127
+ movie[14] # details
128
+ )
129
+ end
130
+
131
+ #
132
+ # Converting the given list of values to a movie object
133
+ # This is for a vote history list; http://www.imdb.com/user/ur10777143/ratings
134
+ # @movie Array<String> A list of values
135
+ # @return A Struct Movie object.
136
+ #
137
+ def create_movie_from_vote_list(movie)
138
+ @movie.new(
139
+ movie[1], # id
140
+ parse_time(movie[2]), # created_at
141
+ movie[5].titleize, # title
142
+ movie[7].split(", "), # directors
143
+ movie[8].to_f, # you_rated
144
+ movie[9].to_f, # rating
145
+ movie[10].to_i, # runtime
146
+ movie[11].to_i, # year
147
+ movie[12].split(", ").map(&:titleize), # genres
148
+ movie[13].to_i, # votes
149
+ parse_time(movie[14]), # released_at
150
+ movie[15] # details
151
+ )
152
+ end
153
+
154
+ def url_validator
155
+ /^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$/
156
+ end
157
+
158
+ def csv_raw
159
+ @_csv_raw ||= RestClient.get(csv, timeout: 10)
160
+ end
161
+
162
+ def csv_content
163
+ @_csv_content ||= CSV.parse(csv_raw)
164
+ end
165
+
166
+ def content
167
+ @_content ||= Nokogiri::HTML(data)
168
+ end
169
+
170
+ def data
171
+ @_data ||= RestClient.get(@url, timeout: 10)
172
+ end
36
173
  end
@@ -0,0 +1,11 @@
1
+ class Object
2
+ def try(*a, &b)
3
+ if a.empty? && block_given?
4
+ yield self
5
+ elsif !a.empty? && !respond_to?(a.first)
6
+ nil
7
+ else
8
+ __send__(*a, &b)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,550 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://www.imdb.com:80/list/qJi7_i3l25Y/
6
+ body:
7
+ headers:
8
+ accept:
9
+ - "*/*; q=0.5, application/xml"
10
+ accept-encoding:
11
+ - gzip, deflate
12
+ timeout:
13
+ - "10"
14
+ response: !ruby/struct:VCR::Response
15
+ status: !ruby/struct:VCR::ResponseStatus
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ date:
20
+ - Tue, 20 Sep 2011 21:20:55 GMT
21
+ server:
22
+ - Server
23
+ cache-control:
24
+ - private
25
+ nncoection:
26
+ - close
27
+ content-type:
28
+ - text/html
29
+ content-encoding:
30
+ - gzip
31
+ set-cookie:
32
+ - cs=7uL3O/xVF4zQTL1WMwg9cwCmW+248W26o/HlqiPCXtnzon7Z8KHNGbCxbbqm1js64JFtupaFCu/TB+kOJ9HNKTCRWyxAGW26oKdbraCRbbqgsW26oJFt+uDBHYqg==;expires=Wed, 21 Sep 2011 07:00:00 GMT;path=/;domain=.imdb.com
33
+ - cs=nawujmaikbaDUTBltnzzewnJEiSO2SUS3lFyJI2KQqydikEX7cohN+7ZIoQumTIkju9VcgqpEiSJjLZHjdvmgMmZsoce2SSyblESJI7vJDOO2RIkjvkSJI7ZEmTOiWIUg=;expires=Wed, 21 Sep 2011 07:00:00 GMT;path=/;domain=.imdb.com
34
+ - session-id-time=1474233655;path=/;domain=.imdb.com;expires=Sun, 18 Sep 2016 14:20:55 GMT
35
+ - session-id=766-6553655-6970031;path=/;domain=.imdb.com;expires=Sun, 18 Sep 2016 14:20:55 GMT
36
+ - uu=BCYtlKKOZqh_BRG5TTG5HyHq4QD2IvIgP7UoCrRz6VR32yjEewEwPkM9nKuaFNykk1A4lAuSiWH4HXbtuUTRAowQOHRIrYmcgEpLqSA0-uilfCLNqKipFt_XOx8lNbMXqCfsTRgDCkRCOA55-MCs0k2j_TTx6BIEyt3pAi66R-hQxFVzDknUg8qF81r0kMEI-kUwzr9EHr_ZuYRDzsIZfMPu46BFiLccprmJtPeUZNJAqv4;expires=Thu, 30 Dec 2037 00:00:00 GMT;path=/;domain=.imdb.com
37
+ p3p:
38
+ - policyref="http://i.imdb.com/images/p3p.xml",CP="CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC "
39
+ vary:
40
+ - User-Agent
41
+ transfer-encoding:
42
+ - chunked
43
+ body: !binary |
44
+ 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
177
+ fgkPfhOPGzda/f5GPrl8iAfru3vKcWNPrT/Ag+Kv4sGz0L4JzkAckBeCQfm1
178
+ wGA2em9gcHlg8HkLY8Qy8yBB0XwxAAyi8q66fWEdD7r1M9XRjDsjbKb9oylq
179
+ 1LtvHW63TF0LW1a8s3/w0zqKdg/2voZm50aX73TNN5u3R95n1TyMgob39TOx
180
+ mx3P2g+PrOsr+7x70ww7hO55l+3rb5p+l8pxr6t2hwCQjwMHgEZFYT+/DACh
181
+ MAOABixb2VguBpRE+Q0EkjcQuJgW30DgIlp8A4HzgkCQrH8JCMzU5DgI/A20
182
+ 1zJA4GEAZk7ghMEaoLkI8E+Zgu6AOY9t0hXA5okBvfk+np9Gu7MXprgrnfYE
183
+ F7ikFRErhoJJgrcPojkQh11mnyKGtPHEY4zRSqTX8zCuPAnTVltopQOAjoED
184
+ SBEqDyMqYJMAXOI26Fion0b9MPIdZm1h9WAQQpX9dtgVCOT2w/AG28rwJqCr
185
+ tsAupawIV22MgC02TkkcBlAt9BgPggO8xbOsSDzLBRgLGgigVXrX49vNeJUX
186
+ LIIyvu/BifCmPkcIwfaLwH4SVoIVAYOvIEOPhziyw+QWBRhNHAEMSwHQxkDo
187
+ pkAU8b1bihW1CcPKqZ945Ww0BQctMazFuwd6sI8eXviBK60NgxMP8bMkqa8F
188
+ oEVRU3QEpZ/TgXDmgTns0acg5mzwDIBYrSkIWD/TCBHxdgr8Gs2CtzW5ppo1
189
+ yN2AebzyfJhDmJpZuWVNrukS5D50AOsLe75FZuNmUxcxawMHjp9UTnjNvxt2
190
+ XvZWqiyJoio/ghB4hhdDZ17NL0Hni0G9gVup11p9CnQ+vt8anDTq/fzFEK8A
191
+ nbcjkB/+IHj/tztZ/wi/jI+xsO8FNE5eiKWV18LS2XC+YenlYennrZQiD43Y
192
+ Zy5cXXsxrvbdn93ufe0+udk6O913O278Vf183DqdYpm0fsT+ybcj7aJ2tDP4
193
+ cjm4Or45Evv1r1/Okq3LnaPT427z4lg7r+v9r7EaNgZh48hPwrtd36sPvqby
194
+ /vnxtx9b4rbX0I6v95RWr/llcGKONlb5mHBcrVdM9vPLuBoKM1wtK2ugppaL
195
+ q2vaG6wmb7B6MS2+wepFtPgGq+eF1SBY/xJYnWnMcVj9GyivZcDqBgwGBVQJ
196
+ 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
234
+ KQ/A0gRtESGAdAmiv3ISli0qYARlJOBjgEO4ZemGkc1vw2njzTJ4nRAoTTBP
235
+ AVKSuOexQ4wEUZvAj+k1Itq1fDIQ8KyjEIElJeB703AjlL3GBavqkhuKN8om
236
+ /GYcBjdXAFN6CFShXAIgc3TTrPZaGFI3RVPV8/270zbe2dN78pDg4yhSMTSM
237
+ VA3Bpk6E3bAP4Fv4ElVmIUlFlCW2O/qDwGB+Jj4YHyQgN94sZChJmqFoZha/
238
+ S33AqvUwIK32bLQqimpNMXhsrkeF/fDu7qk+/hVYcum7lLJmSKL+yG4Mz/BS
239
+ MJlV80tgso5X5ij13RvtZMobSOodWzzZ/aY+BJO/HAZ7buPss1dDCPILEaX5
240
+ SogyH8A3RLk0RPnMtTHGNfPASlF6MawMWxfdhv758mf/+3fP19JdVdo63mt1
241
+ pmnmnavarXa5Uzu7u9+Lz/Tt8pV3cGLsu94XJ5TVS/e87e3dfbvb6191yI/U
242
+ CL7UyEH6pfulfn9h6F/bV9cn7revzbrnfan97H4Nf9zWzfTbcKeSDwWHlWrF
243
+ ZD+/DCvV7H4cDZawvGRYqRtvsJK8wcrFtPgGKxfR4husnBdWqn/N/Ti5ohyH
244
+ lb+B8loGrNzHdxUmlAYxu9IVX5ExCnj18FrU0KVxDCzBbkW99WKPqX0YRZIG
245
+ qBPbYRrzi1yJENvtMPSxUAcg3ShU9dX2FEVR01T+ag4a0EA4vA3BrLkiAxK8
246
+ BBXKuqGhqbS5FQRE2CfRTHDHKZDYwcjID4NC29Nz12psG3IrSNphMBC27JvZ
247
+ N7OKmiHLWd03wjaJojmOfP4VQHDJm4qAwXVRNR6LymMZXowDeTW/gAOPd/fk
248
+ 48bhoN5pyQ9x4HUfng/qjZaSYcDvgOtesqFYtOaVF2LA2mthwGzw3jDg8jDg
249
+ 89bFGNfMhQGVF2PA257/84iGJNG8nnN7221c+PsXfiuYokY7zZ3j/t5ed1tx
250
+ 74K9/eiqdSh9k/a7sUfvPssS7QVn3ZstXT50ifFjZye58FUravvbWv8yTEj7
251
+ 3jDvGl/rcqyIbvKlH9tinOzL4ShalQ3FKx+N1KQ1Q1ryu0fezkaylt4w4CJa
252
+ fMOAi2jxDQPOiwH/orORuaIcx4C/gfJaBgY8DBDs4QxHDsA80Bu+jyGj+QnE
253
+ ot3gRjCGwAp0TdgBQ3PAXqkBPOIFtzROvBaySiHG1I7CnmB7EWAM/qqRW1Cy
254
+ oZAQ/kIRSGhTv8daOY1ozDQw7jv2Itxr4kgzwPd3ANaDJkhcjFU1X+vGHXbb
255
+ DTutuEuAQOFHas8RzflaeFLkmG+nDYASRvi8TenMjUJF00WWGxcqVH0AU/VI
256
+ zWINNxVPIcEnwha+0CX+Pd/HsfSdRUWXJVl8zHJmGV6OKFk1v4Ao650trd6p
257
+ S8e79btpO4vH9zf39c7h/cN3WUqvgSrVF6JKSXw1WMlH8A1WLhFWPmtxjLHN
258
+ XLBSfzGsjAbdz1/NnYOT26QXRZasD85ur+qtaNpFdd32/o/r8NgIrG/H+1+u
259
+ POfrl8/7HeJeDb79/KrJ/sX2pX5a+0bFm/1W+aAtE++oJ3VcpWF/ufUvz0Lt
260
+ 7OvtlkmMelq/CpQDe+dq92x0yyofihxWiuznBbBSZLBSNdakpcNK8Q1WkjdY
261
+ uZgW32DlIlp8g5Xzw8phNcWni4eVXFGOw8rfQHktA1ZyfOh6+J5KfG8jgjy+
262
+ WRjjtTYeAEaEel483EpkJxR9LwHaBCscMHzYCiEbC0z9mfJXV7IqWY14d+uN
263
+ 56N51/a6LDuwXkXY8uNwDX4jaiw1wE4/DZ24xDY4EUSi7cWo4W+3xGJIUYZk
264
+ 8V0ht5S/lhIwUUSTsUBYMD0ZXu0uZHfzL4OhzwKWpqQZeHkrO1QpbINlcxM+
265
+ gkI1hkK3YaKE09T3s1ObvxsEXfaepiqpNfOxm0Z4hhcjUF7NryDQRkuu3x+K
266
+ 9Xv7fjoC3Rqc7O5NueP1l/c19/HNsMIuepICwt6989LdTUl6LRyajeMbDl0e
267
+ Dn3eEpnCPEtCo53Iaxtb6Q9xbzc+q3+1yieH0m65fzvNT3zRDX5cOWe9aP+k
268
+ X786vfxx2DzZ1mh4+d0w3DCOoqPw+9frL9f1sujLVvsi8r9EoURV5cdn78il
269
+ jcH9SSOKj2s/ld37qLMnkjO1Pjw/mQ1IjkZN9vMCNMoDXWElm4a2XDRqSm9o
270
+ lLyh0cW0+IZGF9HiGxqdH43+NYGumbocR6O/gfJaBhplm5w4u7N2OR+aD6AP
271
+ PbZNyS6JhawrMW5MdsPAY8+hIMlfFhkBsTSyQ8IYix24xLt7YnZ5j++5lMFM
272
+ QLeA6QAU0/6aAEaaEIQJv7EHqknagpewl4z0257dhubpTY6cQ0DNiHahR6TH
273
+ 9DMG57rAs6NDl68GQ2tKTZLNav6mkKswMxF/DYTWlFHA7EDY8717YlHo6xXO
274
+ AQzeLOComZKis5OaA+DxOt5o9Mh9P5qIrznFwGC8a+iIdu32zDdPqrKqmkjR
275
+ lk/v7oUvYTt42xbl15RIMDKm+sg1JTzDS0FpVs0vgdJvg/r9N+24cyjXp4HS
276
+ XbZtKtdbrwZKG1OFg7L7UmQqvxIyzQfzDZkuDZk+c53M4qC54OnLX08SStJn
277
+ 8wxfsNS8VXaOUucsSILDrftpR1nO7pz25VbkfiON9MduR9+5FK8P5B+dsren
278
+ +Wc7/a2727AXn+7oh/fN7dOty/P+2fklOdza7R4cXEZ9qVaWArHufz25Oj2q
279
+ 3TSOI7FzIo1eT8JGJT+HWWM/vwxPoTCDp7K5ZuhLfiWlbr7BU/IGTxfT4hs8
280
+ XUSLb/B0XngKgvWvgKe5zhyHp7+B8loGPN1yccZJdkMsAJ3HsCaxKYxjJNgR
281
+ idssgjbO0GYy3FmFAsgtPQpacw3sDoSXMU0yQBkKNgJWewxb3hJnCC1p4Iw2
282
+ OOXXQpayphrszZZ8g/OsAnjQ915wchNAn6qzd4Eco9L/QYLZG5GyaCi1DCEm
283
+ RNiC/s+Ek7JhGrrBdk6dCCzGfS8GrvVnvZIEEAR0DcHqdmhZA2GHdHvhU736
284
+ KwDl0jc5TRjKR97Zl2V4KZ7Mqsnx5DveVBHe8aQCyOMJ40jvkvBI+Dr8ldcZ
285
+ 8DvzYg4CSWcoCObN/463MYZuZ4Db831CZF0jRKpJumzXqOoqhim5FqFazTU1
286
+ 3akGYc+zkzSiVawi7VZdz+9WesA5WefyyQbo5KO24FhpYtzyp/Pj7ZZ03NgS
287
+ 6/db8sm0F312tmR4Jj4MQ36It6ubn4KQy7zN332eljcq05wIOFTV0VjlGuQp
288
+ j4LySh6FfDm9eRSW5lF4pqR8nKPn8iu8fNu7d/u5U7vb2lfpz8P45Grb/NGg
289
+ uyfflGmX+XePy9v7bju4ODg67l12pOgwvNe+3+vfEqlHOnonvji5C6xU8z+L
290
+ 9tm1n3w7jcEKHvSuAuPn9c/P9z9vT29uymHYJG7z8j5qbjf7YHwNt73Z2OR+
291
+ BYX9vMCvwM/2SuKaZqpL9iu8BWFjS29+hUW0+OZXWESLb36F+f0Kf83Z3kxz
292
+ jvsVfgPltQy/AlgDYCS0iS9sE4f4BJCnRRwBkCM6CXbC0PccMJJ30BsAfy3a
293
+ xuBqvM2JhWuD/cZcCQBoIc0RLvirbLxkgEHRe0ELa1wT+m0a4XtqgK/Cm5i7
294
+ F/D0bkqZE4I6qc32PPiR34TiTbowgykQCaZ/vr0utMM+lmV3DWPz3TBOmL8C
295
+ nRnoHrGJQ7ueLdgkojQabX0br+Wg0GVZZvdL1cMoEY5J0n46WPmRvW/dkGom
296
+ 25WGCTilwSx/g6RrNUXFLfcjkuJbfHbC2bcFy5Ks65pWHb7b5pRGtgdrbFbl
297
+ oq7IClLx2Yeq8VqpwVN9+it8E0vf7JYNXVUe28TjGV7qnMiqeQ3nxJXnOxQY
298
+ dz+iMbvu+xpHeSrenZ71P8Il0TmUAICrJ7utqSEAJ42LewDn8sO49Id3Lr+q
299
+ S2Ihs7O8sXhFR4T6So6IfOm8OSKW5oh4plScycxz+SBqwiXeB/JiT0R3L7j4
300
+ 4dgdLf3RPthLDxv0fPvw55YxbZPo3txrhIqTxLVv3e897d7stMMr86tmHZyL
301
+ 5YOkeRT40dkP50Y9la/625dbxg9Z1bQTemj5+52vByf7Rtg5OFOb31p7t9vn
302
+ l72zQ88dRTjwwXnlCAdlraYvOf7+LcCBtfTmiFhEi2+OiEW0+OaImN8R8dcE
303
+ OGSac9wR8RvormU4IkaGAtNcScw8A25uMqBhIJDkoUcCHQa0a5Hohh8Dh/8d
304
+ vBosxduqQ8FnDoU2FWzS7aVQaZgkHi/le2CMctQR5zdTs1j7mN6lgMfDXg9a
305
+ xxvFWPYeEDUQnEHspoE99k7cmvlK7gVZMk1Tx/iHAxLdCp99cv+S892SqBk1
306
+ BQ9ifwkD5qoQtmkQZHdGT/MEGIopasMYCFh4OwSWhE8ib0YJUa6ZMouV/5pG
307
+ ibCf4imHWbWbpqIy58l5AlheaODbj39LT8PSoyAUXdTMx/b2WIaXOhqyal7q
308
+ aNjq0sgDKSacwkIqC9u4ODCg5SGSnZnzP8LN0KjfH9/faMedvf6xNO2kQUs6
309
+ 2d2bcgFbbXFuhgXNzfJG4hWdDNorORnyZfPmZFiak+GZEnEWL8/lY9BeycfQ
310
+ 2fasu96PRuz+uLq/r9+e9K4vv532m9PstH6Zit+8pqN3anTLbQ1a15HauLm2
311
+ Yz0qS7fmzrfrRu975/rm62FdPL3vln+etXabunJ9pV53LgZ3qnH87c7aPz+z
312
+ Gq7+Vfr8+dj7+fNqFO3AxuaVfQyysiZrypuT4c3JsJAW35wMi2jxzcmwiBb/
313
+ TzsZcs057mT4DZTXMpwMdZIkwjloPkCpQp8ECdNdFhU6aZwIvnfDnQGW1xKs
314
+ KFzDSAPU+r0wCoQuXmDLLylvk1uPveOqFYagJr0u3hvHT0y0aEXgZzXAAAsT
315
+ 0vKyu+QyB4PF4iHgewvPWsQY1YAUYK3ooRhFSkQUrMWB4IQ0DlYy2rwEXSCu
316
+ FwGxFr8xL8BQjSiI89gIB4rxVzljo1gvpfejkxqvFghhSPBPHWL5MxK3n0Ly
317
+ j8RBaKKuihixsJe2aECFI3o7mOVF0HT8v4qhK45w4PlQwIrAgpzloVBVVZYV
318
+ PKoReexly1+pZdGZwRCqWZMkfrlBHAbCHol8+uQBlL/CSbHscAjRFE1JfeyF
319
+ sjzDi70UvJpX9lJgBPQxwVfX1T1/pAXmzP6f4a84HNQbN/cnu1t3U1F6Y29w
320
+ 0jicciZhgWERC5+l5Y3JK3ou9NfyXGRL6c1zsTzPxfOk5KMMPZf7Qn8l98XP
321
+ ztne3WD7elf6Qnzt9OTgx+DMad3tTrvmKZJp9/B79+zs+3a7/TU+stJuWr7c
322
+ /tG5Vfze7Z568vnmaOvmayoffokbO5+1rrR7cXGb7JvXu56kJFe73fvBQaPT
323
+ ds6P0uj08PA6uuyUh+4LPkCv7L6Qamumqr+5L97cFwtp8c19sYgW39wXi2jx
324
+ /7b7IlOf4+6L30B5LcN9cYV4fy/yboY+DOZFIBgmQYUelGIugFDotwnC8ggd
325
+ CdzNwQIbkDNaXuS7gIQzNwRzZyDD9NEPEuNtg/gM7yUEeA21xZT7ROwwjYHL
326
+ dvvsREZ+AGRkrGT3F/YpvaE85GIAxj+YjQEjBAoArYs4kaGY7Njr5pcQyEnj
327
+ 2CJp9ym8/th1hLJaY1dQ4LV/wlUbZmGWZ+EZXgvRkDVdF/kthx4Rzjw7jONZ
328
+ 10XgRf8avj9pc6eNgRhhD0+31O3dMCC+81TnFuuMYDatkH0Vsn/jdNByN4zQ
329
+ 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
475
+
476
+ http_version: "1.1"
477
+ - !ruby/struct:VCR::HTTPInteraction
478
+ request: !ruby/struct:VCR::Request
479
+ method: :get
480
+ uri: http://www.imdb.com:80/list/export?author_id=ur28206273&list_id=qJi7_i3l25Y
481
+ body:
482
+ headers:
483
+ accept:
484
+ - "*/*; q=0.5, application/xml"
485
+ accept-encoding:
486
+ - gzip, deflate
487
+ timeout:
488
+ - "10"
489
+ response: !ruby/struct:VCR::Response
490
+ status: !ruby/struct:VCR::ResponseStatus
491
+ code: 200
492
+ message: OK
493
+ headers:
494
+ date:
495
+ - Tue, 20 Sep 2011 21:22:49 GMT
496
+ server:
497
+ - Server
498
+ cache-control:
499
+ - private
500
+ content-disposition:
501
+ - attachment; filename="Not so good movies....csv"
502
+ cneonction:
503
+ - close
504
+ content-type:
505
+ - text/csv
506
+ set-cookie:
507
+ - session-id-time=1474233769;path=/;domain=.imdb.com;expires=Sun, 18 Sep 2016 14:22:49 GMT
508
+ - session-id=172-6553769-9912064;path=/;domain=.imdb.com;expires=Sun, 18 Sep 2016 14:22:49 GMT
509
+ - uu=BCYoLYarEEQfTR1fAwtRLzJfbwh4wDaFOivXV_WEmkd8Q04TRCizTDCCu_ujy7xCIqHI5sPMNQfvhCXagm5c0GZPUTGvbEa-Lqg8-87uvtuOADlLhZc-htCj8DCuy-8-o3IbHHJadEO8ABHi9yXe96bzG7gKYqwbg-BQ1ysqCP2jj0YjzsPqMjK6SCIkqDTcZ41YLsYrKwwr0IqlvnCizv8DhxPeLadP1zDaITLJFvD-5Ag;expires=Thu, 30 Dec 2037 00:00:00 GMT;path=/;domain=.imdb.com
510
+ vary:
511
+ - Accept-Encoding,User-Agent
512
+ content-encoding:
513
+ - gzip
514
+ p3p:
515
+ - policyref="http://i.imdb.com/images/p3p.xml",CP="CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC "
516
+ transfer-encoding:
517
+ - chunked
518
+ body: !binary |
519
+ H4sIAAAAAAAAA5SVbW/TMBDH3/MprCIhkJbWD0mclFfANDRgCJWxCd6ZxBCz
520
+ xC6JsxE+PT7H7KFJqZCqxs6d2/vd/+682JpOWWX04mhRGN1ZeLZSWFm6VWNK
521
+ 9U35ZSm7olXb4HqubC3/PpEdtrA5Vq0srGk7tz49O/6KNsIq/d3tNr22qpHo
522
+ aaN098y9+CxF6x6vpW4luL/vmyW6MNZvNrKWopPo2EXhjhhtq1UphtXgDsHh
523
+ T5t3i0cL4lbWEp5TnscQSi/RR7lFFCPC1jFfJ4lbE/Jvk/u8qBv1vbIDOq8M
524
+ BHV+gc7MtQKiV1WrOmu2lWwdzODe0CWcyiksx18Q5bXUtm/lEfomtBUduOUk
525
+ Cx4RTiLM3aaydrterW5ubpaqKb8uC9OsLKRvdUuxclh0xMKM8iSZxp6tMd+D
526
+ dd8EWTTFld6YuhZuc+IUdSGiE1U3kPd+QBtli8pT8iVz34TEPmQMkYsChD5C
527
+ TvLGgVmXh7qWkB2OKeXBMcJ5hONDbCMKsLGRjRKMYzoHQPazkftsL1tjrupB
528
+ P3n8i/LnncPS0pfuDucLbY0zoZP+Zw9pSJcAR9goH86npGUrGvEAmDKcsOAf
529
+ YRKR9BDwyAfAsQfGOcdxMgtM073Adyb3+Whq4xoBvRVaTjHPVFEJWaM3S/RS
530
+ dJ201rPCPxIcT1lnS5akDGe3nPlhzoAFnMkoLMloTmdhYryX884Ec0DpHzP1
531
+ etoJUaCT2rQubuVTkPiizdL/UJKxW/eI4IjSQ0KOPACYjkKyLOEzQiZ4TbN5
532
+ wAcm33l1eWWaLcikp6B+4KBLqezvOwlJKD++O20aVQ/3JUzjNCfBN3Kjhx6a
533
+ OwEICHnoTUaSjE0x2JrSPYT3TXAL9OPknsKdm7JEHyonh9p2Hg/SmifjpMT+
534
+ BmpkOQTtwCMhDAczSMbIwd7z8QNQNkpGE05wuhN1vCZ0jWd7b8cEvVeIdhiv
535
+ BESnVG+l1FKj02vjvC7FIDSwxX7SZEE5cssGlRtjisN7dzUcnqCBAaDyUIc4
536
+ xTGfi5zme6HuTDtQbAp1LK5Vib70xZXvnNBsYZSwBzSEk3AfMN9VeJfmDwAA
537
+ AP//jZfdbqMwEIVfxQ+wVLaxjc1lf3ZX1bZatVV77TZU0A2wIj8X+/Q7HpzE
538
+ FLtEikTEJNL5OOOZw6znULyjQc/dHcUZ/m+mWdIkjqQJHHEGDg3MUSGOKNgB
539
+ R4EzGeOLOCgeccZIQgUTRvO5ZlnmKXfCkpPfdHZNrmGnwRc31WIe3dq2glnR
540
+ Y8KS2G8mQIIwM/TDZAAKqgt5hOMZjs0v4UYUhPPBhAmhtZgTqJKmvApLrlo7
541
+ hBngdcq2hwtyAyNjPFVOsQ7Wd4SS60KdFpnO+OLCHpmQMvcWasqLCIoBqxKU
542
+ YQk+z7YDURW5gysviYN+aCDU9u/kyX5Edng/bMm93da2Q1AnxBSfO/QbGfrW
543
+ dm8VrnZ5OJEK+jSjbNFNpEJO4cd9oUQuYjDxhfap5DlfmvWqGkryHcJ8DfKI
544
+ j/fPzarq4frTDnvyY23/jV2IJhp9MvF4+nKj5NE5WGGL2XLUj0TSO5creC4z
545
+ 2ZyWeR4nmpRcaGyroXkDit8wTDJIVN2KXNn2bwD0uK324Kfd1Kem9F7JkIfn
546
+ /JAd5Vn7y8tHIJ85NNVMqJhqYZJAwqSBXCve2z/Vitw1+BJ3oLrtobDbbF7t
547
+ rj35VESmJDNaqLD1FoPGSIFcPmkIWlA5H/qcJY/YpBTnuoT3AnfEfvX7KVkN
548
+ v9rBCw9yqWBUTvrP8OPts06UhwCs/1wReQpIDwAA
549
+
550
+ http_version: "1.1"