]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
When no json library is found, don't throw an exception unless
authorBen Darnell <bdarnell@beaker.local>
Tue, 20 Jul 2010 02:39:42 +0000 (19:39 -0700)
committerBen Darnell <bdarnell@beaker.local>
Tue, 20 Jul 2010 02:39:42 +0000 (19:39 -0700)
json functionality is used, to make the simplejson dependency optional
for python 2.5 users.

tornado/escape.py

index af99f52feb1d2dba4555b8d2901a94c258b801f6..8852ca2958e8a9ef1fbc5e27afd035f33f4b0fc5 100644 (file)
@@ -21,6 +21,8 @@ import re
 import xml.sax.saxutils
 import urllib
 
+# json module is in the standard library as of python 2.6; fall back to
+# simplejson if present for older versions.
 try:
     import json
     assert hasattr(json, "loads") and hasattr(json, "dumps")
@@ -38,8 +40,11 @@ except:
             _json_decode = lambda s: simplejson.loads(_unicode(s))
             _json_encode = lambda v: simplejson.dumps(v)
         except ImportError:
-            raise Exception("A JSON parser is required, e.g., simplejson at "
-                            "http://pypi.python.org/pypi/simplejson/")
+            def _json_decode(s):
+                raise NotImplementedError(
+                    "A JSON parser is required, e.g., simplejson at "
+                    "http://pypi.python.org/pypi/simplejson/")
+            _json_encode = _json_decode
 
 
 def xhtml_escape(value):