]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
[plugin] youtube fixed, added help text
authorMatthias H <apoc@sixserv.org>
Fri, 21 Feb 2014 00:26:24 +0000 (01:26 +0100)
committerMatthias H <apoc@sixserv.org>
Fri, 21 Feb 2014 00:26:24 +0000 (01:26 +0100)
Used the httputils api wrongly, had no help text.

data/rbot/plugins/youtube.rb

index aede86e82e516d1970b25f1f20b2205518dbb0c9..abda9ca311fa88e5037f220c680a1583cd22a4fb 100644 (file)
@@ -24,6 +24,10 @@ class YouTubePlugin < Plugin
     :default => true,
     :desc => "Should the bot display alternative URLs (swf, rstp) for YouTube videos?")
 
+  def help(plugin, topic="")
+    'youtube [search] <query> : searches youtube videos | youtube info <id> : returns description and video links'
+  end
+
   def youtube_filter(s)
     loc = Utils.check_location(s, /youtube\.com/)
     return nil unless loc
@@ -116,6 +120,7 @@ class YouTubePlugin < Plugin
     vids = []
     title = nil
     begin
+debug s.inspect
       doc = REXML::Document.new(s[:text])
       title = doc.elements["feed/title"].text
       doc.elements.each("*/entry") { |e|
@@ -148,8 +153,9 @@ class YouTubePlugin < Plugin
     debug id
 
     url = YOUTUBE_VIDEO % {:id => id}
-    resp, xml = @bot.httputil.get_response(url)
-    unless Net::HTTPSuccess === resp
+    resp = @bot.httputil.get_response(url)
+    xml = resp.body
+    unless resp.kind_of? Net::HTTPSuccess
       debug("error looking for movie %{id} on youtube: %{e}" % {:id => id, :e => xml})
       return nil
     end
@@ -198,8 +204,9 @@ class YouTubePlugin < Plugin
     what = params[:words].to_s
     searchfor = CGI.escape what
     url = YOUTUBE_SEARCH % {:words => searchfor}
-    resp, xml = @bot.httputil.get_response(url)
-    unless Net::HTTPSuccess === resp
+    resp = @bot.httputil.get_response(url)
+    xml = resp.body
+    unless resp.kind_of? Net::HTTPSuccess
       m.reply(_("error looking for %{what} on youtube: %{e}") % {:what => what, :e => xml})
       return
     end
@@ -235,3 +242,4 @@ plugin = YouTubePlugin.new
 
 plugin.map "youtube info :movie", :action => 'info', :threaded => true
 plugin.map "youtube [search] *words", :action => 'search', :threaded => true
+