summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark McClain <mark.mcclain@shootq.com>2011-10-28 18:01:51 -0400
committerMark McClain <mark.mcclain@shootq.com>2011-10-28 18:01:51 -0400
commit282c0ea2f99b2d445471e78d5acd5778edc007ee (patch)
tree60fa6288d7745ea0f51f23bb6d9ef561c2c55b73
parentda61da0d503b64267f4da97be2a34d89c53b7337 (diff)
downloadpecan-282c0ea2f99b2d445471e78d5acd5778edc007ee.tar.gz
adding support for WebOb versions >=1.2
-rw-r--r--pecan/jsonify.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pecan/jsonify.py b/pecan/jsonify.py
index 90f7f7a..818ce45 100644
--- a/pecan/jsonify.py
+++ b/pecan/jsonify.py
@@ -5,7 +5,16 @@ except ImportError: # pragma: no cover
from datetime import datetime, date
from decimal import Decimal
-from webob.multidict import MultiDict, UnicodeMultiDict
+# depending on the version WebOb might have 2 types of dicts
+try:
+ # WebOb <= 1.1.1
+ from webob.multidict import MultiDict, UnicodeMultiDict
+ webob_dicts = (MultiDict, UnicodeMultiDict)
+except ImportError: # pragma no cover
+ # WebOb >= 1.2
+ from webob.multidict import MultiDict
+ webob_dicts = (MultiDict,)
+
from simplegeneric import generic
try:
@@ -55,7 +64,7 @@ class GenericJSON(JSONEncoder):
return props
elif isinstance(obj, RowProxy):
return dict(obj)
- elif isinstance(obj, (MultiDict, UnicodeMultiDict)):
+ elif isinstance(obj, webob_dicts):
return obj.mixed()
else:
return JSONEncoder.default(self, obj)