Class: EM::TvDB
- Inherits:
-
Object
- Object
- EM::TvDB
- Defined in:
- lib/em-tvdb/client.rb
Constant Summary collapse
- Client =
RestCore::Builder.client do s = RestCore use s::DefaultSite , 'http://www.thetvdb.com/api' use s::XmlDecode use s::CommonLogger, method(:puts) use s::Cache , nil, 3600 run s::EmHttpRequest end
Instance Method Summary collapse
-
#episodes(serie_id, &block) ⇒ Object
.4158103 <Combined_episodenumber>13</Combined_episodenumber> <Combined_season>2</Combined_season> <DVD_chapter></DVD_chapter> <DVD_discid></DVD_discid> <DVD_episodenumber></DVD_episodenumber> <DVD_season></DVD_season>Shawn Piller 2 Silent Night 13 2011-12-06 Niamh Wilson|Craig Eldridge <IMDB_ID></IMDB_ID>en ... 7.9 14 2 Brian Millikin <absolute_number></absolute_number>episodes/158661/4158103.jpg 1327959365 463844 158661 -
#initialize(api_key) ⇒ TvDB
constructor
A new instance of TvDB.
-
#search_serie(name, &block) ⇒ Object
158661 en Haven graphical/158661-g2.jpg ... 2010-07-09 tt1519931 SH01281487 158661 .70971 en Castle Haven 1969-04-01 70971
Constructor Details
Instance Method Details
#episodes(serie_id, &block) ⇒ Object
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/em-tvdb/client.rb', line 104 def episodes(serie_id, &block) @client.get("/#{@api_key}/series/#{serie_id}/all/en.xml") do |xml| episodes = xml.css('Episode').map do |ep| aired_date = ep.content_node('FirstAired') if aired_date.empty? aired_date = nil else aired_date = Time.parse(aired_date) end Hashie::Mash.new( :id => ep.content_node('id'), :name => ep.content_node('EpisodeName'), :episode_number => ep.content_node('EpisodeNumber').to_i, :season_number => ep.content_node('SeasonNumber').to_i, :aired_date => aired_date, :overview => ep.content_node('Overview') ) end episodes = episodes.select{|ep| ep.season_number > 0 }.sort_by(&:episode_number) block.call(episodes) end end |
#search_serie(name, &block) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/em-tvdb/client.rb', line 62 def search_serie(name, &block) @client.get("/GetSeries.php", :seriesname => name) do |xml| series = xml.css('Series').map do |serie| Hashie::Mash.new( :id => serie.content_node('seriesid'), :name => serie.content_node('SeriesName'), :overview => serie.content_node('Overview') ) end block.call(series) end end |