class P3::TV::Search

Constants

TVDB_API_KEY

please don't steal my key. it is very easy to get one for your app here: thetvdb.com/index.php?tab=apiregister they won't spam you and its free

Public Class Methods

new( settings = Settings.new ) click to toggle source
# File lib/p3-tv.rb, line 550
def initialize( settings = Settings.new )
    @settings = settings

    @tvdb = P3::Tvdb::Search.new( TVDB_API_KEY )
    @eztv = {}
end

Public Instance Methods

each_episode() { |episode| ... } click to toggle source
# File lib/p3-tv.rb, line 580
def each_episode
    @settings[:series].each do | series_hash |
        find_episodes_by_seriesid( series_hash[:id] ) do | episode |
            yield( episode )
        end
    end
end
eztv( series_name ) click to toggle source
# File lib/p3-tv.rb, line 588
def eztv( series_name )
    unless( @eztv.has_key?( series_name ) )
        ez = P3::Eztv::Series.new( P3::TV::format_title( series_name ) )
        ez.high_def! if @settings[:high_def]
        @eztv[ series_name ] = ez
    end
    return @eztv[ series_name ]
end
find_episodes_by_seriesid( seriesid ) { |episode| ... } click to toggle source
# File lib/p3-tv.rb, line 571
def find_episodes_by_seriesid( seriesid )
    series = find_series_by_id( seriesid )
    if( series )
        series.episodes.each do | episode |
            yield( episode ) if episode.season_number > 0
        end
    end
end
find_series( title ) click to toggle source
# File lib/p3-tv.rb, line 557
def find_series( title )
    results = @tvdb.search( title )
    results.select!{|r| r['FirstAired'] } #must have this field

    #assume the more-recent show first
    results.sort!{ | a,b |  b['FirstAired'] <=> a['FirstAired'] }
    results = results.collect{|r| find_series_by_id( r['seriesid'] ) }
    return results
end
find_series_by_id( seriesid ) click to toggle source
# File lib/p3-tv.rb, line 567
def find_series_by_id( seriesid )
    return @tvdb.get_series_by_id( seriesid )
end