chiark / gitweb /
new flirt from rjk
[irc.git] / commands.py
index 637ec5fddffbbb14f4d1d9c0b5c2b302f2c48753..b2df479f8eef6f4ef0c0a2834f94721053942fd8 100644 (file)
@@ -233,7 +233,7 @@ def googleq(bot, cmd, nick, conn, public):
 # Look up the definition of something using google
 def defineq(bot, cmd, nick, conn, public):
     cmdrest = string.join(cmd.split()[1:])
-    targ = ("http://www.google.com/search?q=define%%3A%s&ie=utf-8&oe=utf-8"
+    targ = ("http://www.google.co.uk/search?q=define%%3A%s&ie=utf-8&oe=utf-8"
             % urllib.quote_plus(cmdrest))
     try:
         # Just slurp everything into a string
@@ -242,10 +242,11 @@ def defineq(bot, cmd, nick, conn, public):
         # This is of course going to be a bit fragile. We first look for
         # 'Definitions of %s on the Web' -- if this isn't present we
         # assume we have the 'no definitions found page'.
-        # The first defn starts after the following <p> tag.
+        # The first defn starts after the following <p> tag, but as the
+        # first <li> in a <ul type="disc" class=std>
         # Following that we assume that each definition is all the non-markup
         # before a <br> tag. Currently we just dump out the first definition.
-        match = re.search(r"Definitions of <b>.*?</b> on the Web.*?<p>\s*([^>]*)<br>",defnpage,re.MULTILINE)
+        match = re.search(r"Definitions of <b>.*?</b> on the Web.*?<li>\s*([^>]*)((<br>)|(<li>))",defnpage,re.MULTILINE)
         if match == None:
            bot.automsg(public,nick,"Some things defy definition.")
         else: