Class: ShowRobot::TheTVDB

Inherits:
Datasource show all
Defined in:
lib/showrobot/db/thetvdb.rb

Constant Summary collapse

DB_NAME =
"The TVDB"
DATA_TYPE =
:xml

Instance Attribute Summary

Attributes inherited from Datasource

#mediaFile, #series

Instance Method Summary collapse

Methods inherited from Datasource

#episode, #initialize

Constructor Details

This class inherits a constructor from ShowRobot::Datasource

Instance Method Details

#episode_listObject

Returns a list of episodes related to the media file from a given series



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/showrobot/db/thetvdb.rb', line 24

def episode_list
  super do |xml|
    xml.find('//Episode').collect do |episode|
      {
        :series   => series[:name],
        :title    => episode.find('EpisodeName').first.content,
        :season   => episode.find('SeasonNumber').first.content.to_i,
        :episode  => episode.find('EpisodeNumber').first.content.to_i,
        :episode_ct => episode.find('Combined_episodenumber').first.content.to_i
      }
    end
  end
end

#episode_queryObject



11
12
13
14
# File 'lib/showrobot/db/thetvdb.rb', line 11

def episode_query
  lang = 'en' # TODO
  "http://www.thetvdb.com/api/#{ShowRobot.config[:tvdb_api_key]}/series/#{series[:source].find('seriesid').first.content}/all/#{lang}.xml"
end

#match_queryObject



7
8
9
# File 'lib/showrobot/db/thetvdb.rb', line 7

def match_query
  "http://www.thetvdb.com/api/GetSeries.php?seriesname=#{ShowRobot.url_encode @mediaFile.name_guess}&language=en"
end

#series_listObject

Returns a list of series related to the media file



17
18
19
20
21
# File 'lib/showrobot/db/thetvdb.rb', line 17

def series_list
  super do |xml|
    xml.find('//Series').collect { |series| {:name => series.find('SeriesName').first.content, :source => series} }
  end
end