]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
imdb plugin: htmlinfo filter for names too
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Wed, 19 Mar 2008 00:43:59 +0000 (01:43 +0100)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Wed, 19 Mar 2008 13:49:49 +0000 (14:49 +0100)
data/rbot/plugins/imdb.rb

index 94e4e57101290438c5c4c329bf741f650d62bd7e..5ed5a66fc665422f6f73a5ceb5a6c6c5ee0b1e01 100644 (file)
@@ -205,7 +205,8 @@ class Imdb
       return nil if !m
       name = m[1]
 
-      info << "#{name} : http://us.imdb.com#{sr}"
+      info << "#{name}"
+      info << " : http://us.imdb.com#{sr}" unless opts[:nourl]
 
       return info if opts[:name_only]
 
@@ -406,11 +407,12 @@ class ImdbPlugin < Plugin
   attr_reader :i
 
   TITLE_URL = %r{^http://(?:[^.]+\.)?imdb.com(/title/tt\d+/)}
+  NAME_URL = %r{^http://(?:[^.]+\.)?imdb.com(/name/nm\d+/)}
   def imdb_filter(s)
     loc = Utils.check_location(s, TITLE_URL)
     if loc
       sr = loc.first.match(TITLE_URL)[1]
-      extra = $2
+      extra = $2 # nothign for the time being, could be fullcredits or whatever
       res = i.info_title(sr, :nourl => true, :characters => (extra == 'fullcredits'))
       debug res
       if res
@@ -419,6 +421,19 @@ class ImdbPlugin < Plugin
         return nil
       end
     end
+    loc = Utils.check_location(s, NAME_URL)
+    if loc
+      sr = loc.first.match(NAME_URL)[1]
+      extra = $2 # nothing for the time being, could be filmoyear or whatever
+      res = i.info_name(sr, :nourl => true, :movies_by_year => (extra == 'filmoyear'))
+      debug res
+      if res
+        name = res.shift
+        return {:title => name, :content => res.join(". ")}
+      else
+        return nil
+      end
+    end
     return nil
   end