]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - bin/dependencies_b.py
fixup autobahn compatibility with use 0.8.14
[irc/quakenet/qwebirc.git] / bin / dependencies_b.py
index 66a26de7e827e5603f10435cbc02a0305e63d767..b3b82b0b11b8521f884b8497837089614f3ccaaa 100644 (file)
@@ -17,10 +17,11 @@ def check_dependencies():
   check_twisted()\r
   check_zope()\r
   check_win32()\r
+  i+=check_autobahn()\r
   i+=check_json()\r
   i+=check_java()\r
   i+=check_hg()\r
-  \r
+\r
   print "0 errors, %d warnings." % i\r
   \r
   if i == 0:\r
@@ -83,7 +84,7 @@ def check_zope():
       fail("qwebirc requires zope interface.",\r
            "this should normally come with twisted, but can be downloaded",\r
            "from pypi: http://pypi.python.org/pypi/zope.interface")\r
-           \r
+\r
 def check_twisted():\r
   try:\r
     import twisted\r
@@ -122,7 +123,22 @@ def check_json():
          "http://pypi.python.org/pypi/simplejson/")\r
     return 1\r
   return 0\r
-  \r
+\r
+def check_autobahn():\r
+  try:\r
+    import autobahn, autobahn.websocket\r
+    x = autobahn.version.split(".")\r
+    if len(x) != 3:\r
+      raise ImportError("Unknown version: %s", autobahn.vesrion)\r
+    if (int(x[1]) < 8) or (int(x[1]) == 8 and int(x[2]) < 14):\r
+      raise ImportError()\r
+    return 0\r
+  except ImportError:\r
+    warn("autobahn 0.8.14 (minimum) not installed; websocket support will be disabled.",\r
+         "consider installing autobahn from:",\r
+         "http://autobahn.ws/python/getstarted/")\r
+    return 1\r
+\r
 if __name__ == "__main__":\r
   import dependencies\r
   dependencies.check_dependencies()\r