the_tvdb 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +19 -0
- data/Gemfile +12 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/lib/the_tvdb/configuration.rb +32 -0
- data/lib/the_tvdb/episode.rb +50 -0
- data/lib/the_tvdb/gateway.rb +124 -0
- data/lib/the_tvdb/show.rb +27 -0
- data/lib/the_tvdb/version.rb +3 -0
- data/lib/the_tvdb.rb +9 -0
- data/spec/fixtures/tvdb_cassettes/episodes.yml +128 -0
- data/spec/fixtures/tvdb_cassettes/shows.yml +411 -0
- data/spec/lib/the_tvdb/episode_spec.rb +30 -0
- data/spec/lib/the_tvdb/show_spec.rb +42 -0
- data/spec/spec_helper.rb +14 -0
- data/the_tvdb.gemspec +27 -0
- metadata +116 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 Alessandro Mencarini
|
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
|
+
# TheTvdb
|
2
|
+
|
3
|
+
Ruby wrapper for TheTVDB.com
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'the_tvdb'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install the_tvdb
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
Instructions coming soon!
|
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"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module TheTvdb
|
2
|
+
|
3
|
+
def self.config
|
4
|
+
@config ||= Configuration.new
|
5
|
+
end
|
6
|
+
|
7
|
+
class Configuration
|
8
|
+
|
9
|
+
def dump_path
|
10
|
+
@dump_path ||= default_path
|
11
|
+
FileUtils.mkdir_p("#{@dump_path}/zipfiles") if !File.directory?("#{@dump_path}/zipfiles")
|
12
|
+
FileUtils.mkdir_p("#{@dump_path}/data/episodes") if !File.directory?("#{@dump_path}/data/episodes")
|
13
|
+
@dump_path
|
14
|
+
end
|
15
|
+
|
16
|
+
def default_path
|
17
|
+
'tmp/the_tvdb/'
|
18
|
+
end
|
19
|
+
|
20
|
+
def zip_path
|
21
|
+
"#{dump_path}/zipfiles"
|
22
|
+
end
|
23
|
+
def data_path
|
24
|
+
"#{dump_path}/data"
|
25
|
+
end
|
26
|
+
def episodes_path
|
27
|
+
"#{data_path}/episodes"
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module TheTvdb
|
2
|
+
class Episode
|
3
|
+
|
4
|
+
attr_accessor :remote_id, :season_remote_id, :season_number, :name, :number, :aired_at, :description
|
5
|
+
|
6
|
+
def initialize(info)
|
7
|
+
@remote_id = info['id'].to_i
|
8
|
+
@season_remote_id = info['seasonid'].to_i
|
9
|
+
@season_number = info['Combined_season'].to_i
|
10
|
+
@name = info['EpisodeName']
|
11
|
+
@number = info['EpisodeNumber'].to_i
|
12
|
+
@aired_at = Date.parse(info['FirstAired'])
|
13
|
+
@description = info['Overview']
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.find(remote_id)
|
17
|
+
info = TheTvdb.gateway.get_episode_details(remote_id)
|
18
|
+
self.new(info)
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# For reference, the episode yaml:
|
25
|
+
#
|
26
|
+
# id: '4245778'
|
27
|
+
# seasonid: '473271'
|
28
|
+
# EpisodeNumber: '9'
|
29
|
+
# EpisodeName: Blackwater
|
30
|
+
# FirstAired: '2012-05-28'
|
31
|
+
# GuestStars:
|
32
|
+
# Director: Neil Marshall
|
33
|
+
# Writer: George R. R. Martin
|
34
|
+
# Overview: Tyrion and the Lannisters fight for their lives as Stannis’ fleet assaults King’s Landing.
|
35
|
+
# ProductionCode:
|
36
|
+
# lastupdated: '1352849383'
|
37
|
+
# flagged: '0'
|
38
|
+
# DVD_discid:
|
39
|
+
# DVD_season: '2'
|
40
|
+
# DVD_episodenumber: '9.0'
|
41
|
+
# DVD_chapter:
|
42
|
+
# absolute_number: '19'
|
43
|
+
# filename: episodes/121361/4245778.jpg
|
44
|
+
# seriesid: '121361'
|
45
|
+
# mirrorupdate: '2012-11-13 15:28:01'
|
46
|
+
# IMDB_ID: tt2084342
|
47
|
+
# EpImgFlag: '2'
|
48
|
+
# Rating: '8.4'
|
49
|
+
# SeasonNumber: '2'
|
50
|
+
# Language: en
|
@@ -0,0 +1,124 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'open-uri'
|
3
|
+
require 'nokogiri'
|
4
|
+
require 'zip/zip'
|
5
|
+
require 'active_support/core_ext'
|
6
|
+
|
7
|
+
module TheTvdb
|
8
|
+
|
9
|
+
def self.gateway
|
10
|
+
@gateway ||= Gateway.new
|
11
|
+
end
|
12
|
+
|
13
|
+
class Gateway
|
14
|
+
|
15
|
+
def config
|
16
|
+
TheTvdb.config
|
17
|
+
end
|
18
|
+
|
19
|
+
def zip_path
|
20
|
+
config.zip_path
|
21
|
+
end
|
22
|
+
def data_path
|
23
|
+
config.data_path
|
24
|
+
end
|
25
|
+
def episodes_path
|
26
|
+
config.episodes_path
|
27
|
+
end
|
28
|
+
|
29
|
+
# TODO: setup a reliable env system for apikey
|
30
|
+
def initialize(api_key = nil)
|
31
|
+
@api_key = api_key || ENV['TVDBKEY']
|
32
|
+
raise 'No API key was provided. Please set one as environment variable (e.g.: `export TVDBKEY=1234567898765432`).' if !@api_key
|
33
|
+
@mirror = get_mirror
|
34
|
+
end
|
35
|
+
|
36
|
+
ENDPOINT = 'http://www.thetvdb.com/api/'
|
37
|
+
|
38
|
+
def endpoint
|
39
|
+
ENDPOINT
|
40
|
+
end
|
41
|
+
|
42
|
+
# def api_key
|
43
|
+
# APIKEY
|
44
|
+
# end
|
45
|
+
|
46
|
+
def get_mirror
|
47
|
+
hash = xml_to_hash "#{endpoint}#{@api_key}/mirrors.xml", 'Mirror'
|
48
|
+
"#{hash['mirrorpath']}/api/#{@api_key}"
|
49
|
+
end
|
50
|
+
|
51
|
+
def get_time
|
52
|
+
xml_to_hash "#{endpoint}/Updates.php?type=none", 'Time'
|
53
|
+
end
|
54
|
+
|
55
|
+
def get_series(name)
|
56
|
+
doc = open_xml "#{endpoint}/GetSeries.php?seriesname=#{URI.escape(name)}"
|
57
|
+
result = doc.css('Series').map { |series| Hash.from_xml(series.to_s)['Series'] }
|
58
|
+
#puts result.to_yaml
|
59
|
+
result
|
60
|
+
end
|
61
|
+
|
62
|
+
def get_series_package(seriesid, language = 'en')
|
63
|
+
begin
|
64
|
+
open("#{zip_path}/#{seriesid}.zip", 'wb') do |file|
|
65
|
+
file << open("#{@mirror}/series/#{seriesid}/all/#{language}.zip").read
|
66
|
+
end
|
67
|
+
unzip_file("#{zip_path}/#{seriesid}.zip", "#{data_path}/xml/#{seriesid}")
|
68
|
+
xml_to_hash "#{data_path}/xml/#{seriesid}/#{language}.xml", 'Data'
|
69
|
+
rescue Exception => e
|
70
|
+
p e
|
71
|
+
#puts e.backtrace
|
72
|
+
puts "#{@mirror}/series/#{seriesid}/all/#{language}.zip"
|
73
|
+
nil
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def get_episode_details(episodeid, language = 'en')
|
78
|
+
file_path = "#{episodes_path}/#{episodeid}.xml"
|
79
|
+
open(file_path, 'wb') do |file|
|
80
|
+
file << open("#{@mirror}/episodes/#{episodeid}/#{language}.xml").read
|
81
|
+
end
|
82
|
+
xml_to_hash(file_path, 'Episode')
|
83
|
+
end
|
84
|
+
|
85
|
+
private
|
86
|
+
|
87
|
+
def open_xml(xml)
|
88
|
+
begin
|
89
|
+
location = (xml =~ URI::regexp) ? open(xml) : File.open(xml)
|
90
|
+
Nokogiri::XML(location)
|
91
|
+
rescue Exception => e
|
92
|
+
p e
|
93
|
+
#puts e.backtrace
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def xml_to_hash(url, selector = nil)
|
98
|
+
doc = open_xml(url)
|
99
|
+
doc = doc.css(selector) if selector.present?
|
100
|
+
result = Hash.from_xml(doc.to_s)
|
101
|
+
result[selector] if selector.present?
|
102
|
+
end
|
103
|
+
|
104
|
+
# def xmlurl_to_array(url, selector = nil)
|
105
|
+
# if selector
|
106
|
+
# document = open_xml(url).css(selector)
|
107
|
+
#
|
108
|
+
# else
|
109
|
+
# Array.from_xml(open_xml(url).to_s)
|
110
|
+
# end
|
111
|
+
# end
|
112
|
+
|
113
|
+
def unzip_file (file, destination)
|
114
|
+
Zip::ZipFile.open(file) { |zip_file|
|
115
|
+
zip_file.each { |f|
|
116
|
+
f_path=File.join(destination, f.name)
|
117
|
+
FileUtils.mkdir_p(File.dirname(f_path))
|
118
|
+
zip_file.extract(f, f_path) unless File.exist?(f_path)
|
119
|
+
}
|
120
|
+
}
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module TheTvdb
|
2
|
+
class Show
|
3
|
+
|
4
|
+
attr_accessor :remote_id, :name, :banner, :description, :episodes, :seasons#, :aired_at
|
5
|
+
|
6
|
+
def self.search(name)
|
7
|
+
shows = TheTvdb.gateway.get_series(name)
|
8
|
+
shows.map {|s| self.new(s) }
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize(info)
|
12
|
+
@remote_id = info['seriesid'].to_i
|
13
|
+
@name = info['SeriesName']
|
14
|
+
@banner = info['banner']
|
15
|
+
@description = info['Overview']
|
16
|
+
#@aired_at = info['FirstAired']
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.find(remote_id)
|
20
|
+
info = TheTvdb.gateway.get_series_package(remote_id)
|
21
|
+
show = self.new(info['Series'])
|
22
|
+
show.episodes = info['Episode'].map {|e| TheTvdb::Episode.new(e) }
|
23
|
+
show
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
data/lib/the_tvdb.rb
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.thetvdb.com/api/A4EF663990171DE4/mirrors.xml
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- cloudflare-nginx
|
21
|
+
Date:
|
22
|
+
- Thu, 20 Dec 2012 10:48:57 GMT
|
23
|
+
Content-Type:
|
24
|
+
- text/xml
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Last-Modified:
|
30
|
+
- Thu, 20 Dec 2012 10:40:03 GMT
|
31
|
+
Vary:
|
32
|
+
- Accept-Encoding
|
33
|
+
Expires:
|
34
|
+
- Thu, 20 Dec 2012 11:03:57 GMT
|
35
|
+
Cache-Control:
|
36
|
+
- max-age=900
|
37
|
+
Set-Cookie:
|
38
|
+
- __cfduid=d665a8c3de7f0bd80bb3998702e5398191356000537; expires=Mon, 23-Dec-2019
|
39
|
+
23:50:00 GMT; path=/; domain=.thetvdb.com
|
40
|
+
Cf-Ray:
|
41
|
+
- 97a8c668b69e34a9
|
42
|
+
body:
|
43
|
+
encoding: US-ASCII
|
44
|
+
string: ! "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<Mirrors>\n <Mirror>\n
|
45
|
+
\ <id>1</id>\n <mirrorpath>http://thetvdb.com</mirrorpath>\n <typemask>7</typemask>\n
|
46
|
+
\ </Mirror>\n</Mirrors>\n"
|
47
|
+
http_version:
|
48
|
+
recorded_at: Thu, 20 Dec 2012 10:48:57 GMT
|
49
|
+
- request:
|
50
|
+
method: get
|
51
|
+
uri: http://thetvdb.com/api/A4EF663990171DE4/episodes/4245778/en.xml
|
52
|
+
body:
|
53
|
+
encoding: US-ASCII
|
54
|
+
string: ''
|
55
|
+
headers:
|
56
|
+
Accept:
|
57
|
+
- ! '*/*'
|
58
|
+
User-Agent:
|
59
|
+
- Ruby
|
60
|
+
response:
|
61
|
+
status:
|
62
|
+
code: 200
|
63
|
+
message: !binary |-
|
64
|
+
T0s=
|
65
|
+
headers:
|
66
|
+
!binary "U2VydmVy":
|
67
|
+
- !binary |-
|
68
|
+
Y2xvdWRmbGFyZS1uZ2lueA==
|
69
|
+
!binary "RGF0ZQ==":
|
70
|
+
- !binary |-
|
71
|
+
VGh1LCAyMCBEZWMgMjAxMiAxMDo1MTozNyBHTVQ=
|
72
|
+
!binary "Q29udGVudC1UeXBl":
|
73
|
+
- !binary |-
|
74
|
+
dGV4dC94bWw7IGNoYXJzZXQ9dXRmLTg=
|
75
|
+
!binary "VHJhbnNmZXItRW5jb2Rpbmc=":
|
76
|
+
- !binary |-
|
77
|
+
Y2h1bmtlZA==
|
78
|
+
!binary "Q29ubmVjdGlvbg==":
|
79
|
+
- !binary |-
|
80
|
+
a2VlcC1hbGl2ZQ==
|
81
|
+
!binary "WC1Qb3dlcmVkLUJ5":
|
82
|
+
- !binary |-
|
83
|
+
UEhQLzUuMi42LTErbGVubnkxNg==
|
84
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
85
|
+
- !binary |-
|
86
|
+
bWF4LWFnZT05MDA=
|
87
|
+
!binary "RXhwaXJlcw==":
|
88
|
+
- !binary |-
|
89
|
+
VGh1LCAyMCBEZWMgMjAxMiAxMTowNjozNyBHTVQ=
|
90
|
+
!binary "VmFyeQ==":
|
91
|
+
- !binary |-
|
92
|
+
VXNlci1BZ2VudCxBY2NlcHQtRW5jb2Rpbmc=
|
93
|
+
!binary "U2V0LUNvb2tpZQ==":
|
94
|
+
- !binary |-
|
95
|
+
X19jZmR1aWQ9ZDUxODQzZDVkNThmOWQxNDFiOGRhYTk4NjRiMWQ3YTQ0MTM1
|
96
|
+
NjAwMDY5NzsgZXhwaXJlcz1Nb24sIDIzLURlYy0yMDE5IDIzOjUwOjAwIEdN
|
97
|
+
VDsgcGF0aD0vOyBkb21haW49LnRoZXR2ZGIuY29t
|
98
|
+
!binary "Q2YtUmF5":
|
99
|
+
- !binary |-
|
100
|
+
YzI1ZTRkNGFlMDM0NzgyNg==
|
101
|
+
body:
|
102
|
+
encoding: ASCII-8BIT
|
103
|
+
string: !binary |-
|
104
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+CjxEYXRh
|
105
|
+
PjxFcGlzb2RlPgo8aWQ+NDI0NTc3ODwvaWQ+CjxzZWFzb25pZD40NzMyNzE8
|
106
|
+
L3NlYXNvbmlkPgo8RXBpc29kZU51bWJlcj45PC9FcGlzb2RlTnVtYmVyPgo8
|
107
|
+
RXBpc29kZU5hbWU+QmxhY2t3YXRlcjwvRXBpc29kZU5hbWU+CjxGaXJzdEFp
|
108
|
+
cmVkPjIwMTItMDUtMjg8L0ZpcnN0QWlyZWQ+CjxHdWVzdFN0YXJzPjwvR3Vl
|
109
|
+
c3RTdGFycz4KPERpcmVjdG9yPk5laWwgTWFyc2hhbGw8L0RpcmVjdG9yPgo8
|
110
|
+
V3JpdGVyPkdlb3JnZSBSLiBSLiBNYXJ0aW48L1dyaXRlcj4KPE92ZXJ2aWV3
|
111
|
+
PlR5cmlvbiBhbmQgdGhlIExhbm5pc3RlcnMgZmlnaHQgZm9yIHRoZWlyIGxp
|
112
|
+
dmVzIGFzIFN0YW5uaXPigJkgZmxlZXQgYXNzYXVsdHMgS2luZ+KAmXMgTGFu
|
113
|
+
ZGluZy48L092ZXJ2aWV3Pgo8UHJvZHVjdGlvbkNvZGU+PC9Qcm9kdWN0aW9u
|
114
|
+
Q29kZT4KPGxhc3R1cGRhdGVkPjEzNTI4NDkzODM8L2xhc3R1cGRhdGVkPgo8
|
115
|
+
ZmxhZ2dlZD4wPC9mbGFnZ2VkPgo8RFZEX2Rpc2NpZD48L0RWRF9kaXNjaWQ+
|
116
|
+
CjxEVkRfc2Vhc29uPjI8L0RWRF9zZWFzb24+CjxEVkRfZXBpc29kZW51bWJl
|
117
|
+
cj45LjA8L0RWRF9lcGlzb2RlbnVtYmVyPgo8RFZEX2NoYXB0ZXI+PC9EVkRf
|
118
|
+
Y2hhcHRlcj4KPGFic29sdXRlX251bWJlcj4xOTwvYWJzb2x1dGVfbnVtYmVy
|
119
|
+
Pgo8ZmlsZW5hbWU+ZXBpc29kZXMvMTIxMzYxLzQyNDU3NzguanBnPC9maWxl
|
120
|
+
bmFtZT4KPHNlcmllc2lkPjEyMTM2MTwvc2VyaWVzaWQ+CjxtaXJyb3J1cGRh
|
121
|
+
dGU+MjAxMi0xMS0xMyAxNToyODowMTwvbWlycm9ydXBkYXRlPgo8SU1EQl9J
|
122
|
+
RD50dDIwODQzNDI8L0lNREJfSUQ+CjxFcEltZ0ZsYWc+MjwvRXBJbWdGbGFn
|
123
|
+
Pgo8UmF0aW5nPjguNDwvUmF0aW5nPgo8U2Vhc29uTnVtYmVyPjI8L1NlYXNv
|
124
|
+
bk51bWJlcj4KPExhbmd1YWdlPmVuPC9MYW5ndWFnZT4KPC9FcGlzb2RlPjwv
|
125
|
+
RGF0YT4K
|
126
|
+
http_version:
|
127
|
+
recorded_at: Thu, 20 Dec 2012 10:51:37 GMT
|
128
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,411 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.thetvdb.com/api//GetSeries.php?seriesname=Game%20of%20Thrones
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- cloudflare-nginx
|
21
|
+
Date:
|
22
|
+
- Thu, 20 Dec 2012 10:48:58 GMT
|
23
|
+
Content-Type:
|
24
|
+
- text/xml; charset=utf-8
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
X-Powered-By:
|
30
|
+
- PHP/5.2.6-1+lenny16
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=900
|
33
|
+
Expires:
|
34
|
+
- Thu, 20 Dec 2012 11:03:58 GMT
|
35
|
+
Vary:
|
36
|
+
- User-Agent,Accept-Encoding
|
37
|
+
Set-Cookie:
|
38
|
+
- __cfduid=d665a8c3de7f0bd80bb3998702e5398191356000537; expires=Mon, 23-Dec-2019
|
39
|
+
23:50:00 GMT; path=/; domain=.thetvdb.com
|
40
|
+
Cf-Ray:
|
41
|
+
- cc984309ab1b4190
|
42
|
+
body:
|
43
|
+
encoding: US-ASCII
|
44
|
+
string: ! '<?xml version="1.0" encoding="UTF-8" ?>
|
45
|
+
|
46
|
+
<Data>
|
47
|
+
|
48
|
+
<Series>
|
49
|
+
|
50
|
+
<seriesid>121361</seriesid>
|
51
|
+
|
52
|
+
<language>en</language>
|
53
|
+
|
54
|
+
<SeriesName>Game of Thrones</SeriesName>
|
55
|
+
|
56
|
+
<banner>graphical/121361-g26.jpg</banner>
|
57
|
+
|
58
|
+
<Overview>Based on the fantasy novel series "A Song of Ice and Fire," Game
|
59
|
+
of Thrones explores the story of an epic battle among seven kingdoms and two
|
60
|
+
ruling families in the only game that matters - the Game of Thrones. All seek
|
61
|
+
control of the Iron Throne, the possession of which ensures survival through
|
62
|
+
the 40-year winter to come.</Overview>
|
63
|
+
|
64
|
+
<FirstAired>2011-04-17</FirstAired>
|
65
|
+
|
66
|
+
<IMDB_ID>tt0944947</IMDB_ID>
|
67
|
+
|
68
|
+
<zap2it_id>SH01389809</zap2it_id>
|
69
|
+
|
70
|
+
<id>121361</id>
|
71
|
+
|
72
|
+
</Series>
|
73
|
+
|
74
|
+
</Data>'
|
75
|
+
http_version:
|
76
|
+
recorded_at: Thu, 20 Dec 2012 10:48:58 GMT
|
77
|
+
- request:
|
78
|
+
method: get
|
79
|
+
uri: http://thetvdb.com/api/A4EF663990171DE4/series/121361/all/en.zip
|
80
|
+
body:
|
81
|
+
encoding: US-ASCII
|
82
|
+
string: ''
|
83
|
+
headers:
|
84
|
+
Accept:
|
85
|
+
- ! '*/*'
|
86
|
+
User-Agent:
|
87
|
+
- Ruby
|
88
|
+
response:
|
89
|
+
status:
|
90
|
+
code: 200
|
91
|
+
message: !binary |-
|
92
|
+
T0s=
|
93
|
+
headers:
|
94
|
+
!binary "U2VydmVy":
|
95
|
+
- !binary |-
|
96
|
+
Y2xvdWRmbGFyZS1uZ2lueA==
|
97
|
+
!binary "RGF0ZQ==":
|
98
|
+
- !binary |-
|
99
|
+
VGh1LCAyMCBEZWMgMjAxMiAxMDo0ODo1OCBHTVQ=
|
100
|
+
!binary "Q29udGVudC1UeXBl":
|
101
|
+
- !binary |-
|
102
|
+
YXBwbGljYXRpb24vemlw
|
103
|
+
!binary "Q29udGVudC1MZW5ndGg=":
|
104
|
+
- !binary |-
|
105
|
+
MTI0MjE=
|
106
|
+
!binary "Q29ubmVjdGlvbg==":
|
107
|
+
- !binary |-
|
108
|
+
a2VlcC1hbGl2ZQ==
|
109
|
+
!binary "TGFzdC1Nb2RpZmllZA==":
|
110
|
+
- !binary |-
|
111
|
+
VGh1LCAyMCBEZWMgMjAxMiAwMDozMTo0MiBHTVQ=
|
112
|
+
!binary "RXhwaXJlcw==":
|
113
|
+
- !binary |-
|
114
|
+
VGh1LCAyMCBEZWMgMjAxMiAxMTowMzo1OCBHTVQ=
|
115
|
+
!binary "Q2FjaGUtQ29udHJvbA==":
|
116
|
+
- !binary |-
|
117
|
+
bWF4LWFnZT05MDA=
|
118
|
+
!binary "QWNjZXB0LVJhbmdlcw==":
|
119
|
+
- !binary |-
|
120
|
+
Ynl0ZXM=
|
121
|
+
!binary "U2V0LUNvb2tpZQ==":
|
122
|
+
- !binary |-
|
123
|
+
X19jZmR1aWQ9ZGY4OTFhYzI5YjE0Y2FjNTFhNGYwM2I5OThjYjEzNGJjMTM1
|
124
|
+
NjAwMDUzODsgZXhwaXJlcz1Nb24sIDIzLURlYy0yMDE5IDIzOjUwOjAwIEdN
|
125
|
+
VDsgcGF0aD0vOyBkb21haW49LnRoZXR2ZGIuY29t
|
126
|
+
!binary "Q2YtUmF5":
|
127
|
+
- !binary |-
|
128
|
+
NzM3ZTMwYWFlOGRlZDU0Yw==
|
129
|
+
body:
|
130
|
+
encoding: ASCII-8BIT
|
131
|
+
string: !binary |-
|
132
|
+
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
|
294
|
+
oJzjAok+eyWyqw8Sai5DwmVmrPtXbnefqlOpya4L10Qu07xwqy5sQ5u5gmgE
|
295
|
+
mCgUdrMfZ+MgkHhBdc8NfYa3W00PYST3hzMyzl80kFfpU3nCWrihssq0/WG8
|
296
|
+
DBhBjFL1cDukim2kfybdk6HQaTZ2/zZu7YYQMAiDqOlsNEHVVXIxb+zfTlrh
|
297
|
+
U/J/XdBVW8PcXPdgdEiwkCv5z+/be/WgNWWfJr3ux/LHpPbETOPLZHZxUbcp
|
298
|
+
YDoHU+t2Yn5+p0r1yz9QSwMEFAAAAAgA8oOTQUH43aFdDAAA76YAAAsAFQBi
|
299
|
+
YW5uZXJzLnhtbFVUCQADaFzSUGhc0lBVeAQAAAAAAO1dW28buxF+z68I8syz
|
300
|
+
5gzvgI8P0AP0qSiKNu1roSY6jotEDmznNAX2x5eU5UtWJJezXO7KhQMLkKyV
|
301
|
+
4pmPM/PNhdzzX75/+fz29+3N7dX17ud30PF3b7e7D9cfr3aXP7/7+/s//mTf
|
302
|
+
vf3l4s35Hza7nb/q8dnFm7dvz68+XlhltbDnZ/5p+M39m3/Z3H26+G2z29zc
|
303
|
+
nV3fXF1e7TafzwBBaPgJVPfvr5fnZ8+ufPrg+/9+3R4++HDF/lc/XoEX4JB/
|
304
|
+
B27586twf9mv15+v/d/ZI9cMgTNE7NGw/U9vFLOcWd2fnx2uCx/502Z3+W1z
|
305
|
+
ub3Y7s7PHl+Ed/66ufOKuDAdSinPzw4vn9759frb7u5Cqoe37l+H9/+2vbna
|
306
|
+
3v558yXI8/l2e3727Dfhgvefvn35125z9Xmvgn9+2Hz4tD0b0dmPnwnf8o+r
|
307
|
+
y9327m77XOO/H343/PQP17550NwxolqKIGw5om4hRJVkqBQDZ3urmePMgYcZ
|
308
|
+
GFjLgDsyqCCsS4IqdGtQXRWojgSq45wboIAqFwIVkYHx+AnRK8OEY+h6kMID
|
309
|
+
KpgxREx1Zy2mDRVMa0xlFaaShKnhXDgKpktBypHdP2SPwPY/vfMGi975EgFV
|
310
|
+
nUDOk4Bi3vPe3Xyrw7MKThqaVnOOmmKheg440fLvBjNocubx6wWTzPZSMseo
|
311
|
+
Nukh5MakIWzuZ3WVTWpy8HQUOrQMiKg8iOEhXY/etzoG2j/x8dS/QqBDisbY
|
312
|
+
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
|
408
|
+
AA==
|
409
|
+
http_version:
|
410
|
+
recorded_at: Thu, 20 Dec 2012 10:48:59 GMT
|
411
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require (File.expand_path('./../../../spec_helper', __FILE__))
|
4
|
+
# For Ruby > 1.9.3, use this instead of require
|
5
|
+
# require_relative '../../spec_helper'
|
6
|
+
|
7
|
+
describe TheTvdb::Episode do
|
8
|
+
|
9
|
+
before do
|
10
|
+
VCR.insert_cassette 'episodes', record: :new_episodes
|
11
|
+
end
|
12
|
+
|
13
|
+
after do
|
14
|
+
VCR.eject_cassette
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "find" do
|
18
|
+
|
19
|
+
let(:episode) { TheTvdb::Episode.find(4245778) }
|
20
|
+
|
21
|
+
it "should return all the info of the episode" do
|
22
|
+
episode.name.should == 'Blackwater'
|
23
|
+
episode.number.should == 9
|
24
|
+
episode.aired_at.should == Date.parse('2012-05-28')
|
25
|
+
episode.description.should == "Tyrion and the Lannisters fight for their lives as Stannis’ fleet assaults King’s Landing."
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require (File.expand_path('./../../../spec_helper', __FILE__))
|
2
|
+
# For Ruby > 1.9.3, use this instead of require
|
3
|
+
# require_relative '../../spec_helper'
|
4
|
+
|
5
|
+
describe TheTvdb::Show do
|
6
|
+
|
7
|
+
before do
|
8
|
+
VCR.insert_cassette 'shows', record: :new_episodes
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
VCR.eject_cassette
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "search" do
|
16
|
+
|
17
|
+
let(:shows) { TheTvdb::Show.search('Game of Thrones') }
|
18
|
+
let(:show) { shows.first }
|
19
|
+
|
20
|
+
it "should return related series when searching for a show name" do
|
21
|
+
shows.size.should be(1)
|
22
|
+
show.name.should == 'Game of Thrones'
|
23
|
+
show.remote_id.should == 121361
|
24
|
+
description = 'Based on the fantasy novel series "A Song of Ice and Fire," Game of Thrones explores the story of an epic battle among seven kingdoms and two ruling families in the only game that matters - the Game of Thrones. All seek control of the Iron Throne, the possession of which ensures survival through the 40-year winter to come.'
|
25
|
+
show.description.should == description
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "find" do
|
31
|
+
|
32
|
+
let(:show) { TheTvdb::Show.find(121361) }
|
33
|
+
let(:episode) { show.episodes[24] }
|
34
|
+
|
35
|
+
it "should return info and episodes when looking up a show id" do
|
36
|
+
show.should have(27).episodes
|
37
|
+
episode.name.should == 'Blackwater'
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative '../lib/the_tvdb'
|
2
|
+
# For Ruby < 1.9.3, use this instead of require_relative
|
3
|
+
# require(File.expand_path('../../lib/dish', __FILE__))
|
4
|
+
|
5
|
+
#require 'rspec'
|
6
|
+
require 'rspec/autorun'
|
7
|
+
require 'webmock/rspec'
|
8
|
+
require 'vcr'
|
9
|
+
|
10
|
+
#VCR config
|
11
|
+
VCR.configure do |config|
|
12
|
+
config.cassette_library_dir = 'spec/fixtures/tvdb_cassettes'
|
13
|
+
config.hook_into :webmock
|
14
|
+
end
|
data/the_tvdb.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'the_tvdb/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "the_tvdb"
|
8
|
+
gem.version = TheTvdb::VERSION
|
9
|
+
gem.authors = ["Alessandro Mencarini"]
|
10
|
+
gem.email = ["a.mencarini@freegoweb.it"]
|
11
|
+
gem.description = %q{A TheTVDB API wrapper}
|
12
|
+
gem.summary = %q{Allows to simplify the usage of TheTVDB API, making more RESTful oriented calls}
|
13
|
+
gem.homepage = "https://github.com/freego/the_tvdb"
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
|
20
|
+
|
21
|
+
#gem.add_dependency("httparty")
|
22
|
+
gem.add_dependency("nokogiri")
|
23
|
+
gem.add_dependency("rubyzip")
|
24
|
+
gem.add_dependency("activesupport")
|
25
|
+
|
26
|
+
end
|
27
|
+
|
metadata
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: the_tvdb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Alessandro Mencarini
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-12-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: nokogiri
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rubyzip
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activesupport
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
description: A TheTVDB API wrapper
|
63
|
+
email:
|
64
|
+
- a.mencarini@freegoweb.it
|
65
|
+
executables: []
|
66
|
+
extensions: []
|
67
|
+
extra_rdoc_files: []
|
68
|
+
files:
|
69
|
+
- .gitignore
|
70
|
+
- Gemfile
|
71
|
+
- LICENSE.txt
|
72
|
+
- README.md
|
73
|
+
- Rakefile
|
74
|
+
- lib/the_tvdb.rb
|
75
|
+
- lib/the_tvdb/configuration.rb
|
76
|
+
- lib/the_tvdb/episode.rb
|
77
|
+
- lib/the_tvdb/gateway.rb
|
78
|
+
- lib/the_tvdb/show.rb
|
79
|
+
- lib/the_tvdb/version.rb
|
80
|
+
- spec/fixtures/tvdb_cassettes/episodes.yml
|
81
|
+
- spec/fixtures/tvdb_cassettes/shows.yml
|
82
|
+
- spec/lib/the_tvdb/episode_spec.rb
|
83
|
+
- spec/lib/the_tvdb/show_spec.rb
|
84
|
+
- spec/spec_helper.rb
|
85
|
+
- the_tvdb.gemspec
|
86
|
+
homepage: https://github.com/freego/the_tvdb
|
87
|
+
licenses: []
|
88
|
+
post_install_message:
|
89
|
+
rdoc_options: []
|
90
|
+
require_paths:
|
91
|
+
- lib
|
92
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
requirements: []
|
105
|
+
rubyforge_project:
|
106
|
+
rubygems_version: 1.8.24
|
107
|
+
signing_key:
|
108
|
+
specification_version: 3
|
109
|
+
summary: Allows to simplify the usage of TheTVDB API, making more RESTful oriented
|
110
|
+
calls
|
111
|
+
test_files:
|
112
|
+
- spec/fixtures/tvdb_cassettes/episodes.yml
|
113
|
+
- spec/fixtures/tvdb_cassettes/shows.yml
|
114
|
+
- spec/lib/the_tvdb/episode_spec.rb
|
115
|
+
- spec/lib/the_tvdb/show_spec.rb
|
116
|
+
- spec/spec_helper.rb
|