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