class SerieGetter
Attributes
api_domain[R]
api_protocol[R]
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/serie_getter.rb, line 10 def initialize(name) @name = CGI::escape(name) @api_domain = 'thetvdb.com' @api_protocol = 'http' end
Public Instance Methods
base_url(add=nil)
click to toggle source
# File lib/serie_getter.rb, line 16 def base_url(add=nil) URI.parse("%s://%s/%s" % [self.api_protocol, self.api_domain, add]) end
fetch()
click to toggle source
# File lib/serie_getter.rb, line 24 def fetch url = get_series_url req = Net::HTTP::Get.new(url.to_s) res = Net::HTTP.start(url.host, url.port) {|http| http.request(req)} return res.body end
get_series_url()
click to toggle source
# File lib/serie_getter.rb, line 20 def get_series_url self.base_url("api/GetSeries.php?seriesname=%s" % self.name) end
make_nfo(outdir, force=false)
click to toggle source
# File lib/serie_getter.rb, line 44 def make_nfo(outdir, force=false) content = self.pres_url outfile = Pathname.new(outdir).join('tvshow.nfo') if content and (!outfile.exist? || force) File.write(outfile, content.to_s) return true else return false end end
pres_url()
click to toggle source
# File lib/serie_getter.rb, line 39 def pres_url sid = self.series_id sid ? self.base_url("index.php?tab=series&id=%s" % sid) : nil end
series_id()
click to toggle source
# File lib/serie_getter.rb, line 32 def series_id xml = LibXML::XML::Parser.string(self.fetch) doc = xml.parse node = doc.find('//Data//seriesid').first return node ? node.content : nil end