diff options
author | Mark McClain <mark.mcclain@shootq.com> | 2011-10-28 18:01:51 -0400 |
---|---|---|
committer | Mark McClain <mark.mcclain@shootq.com> | 2011-10-28 18:01:51 -0400 |
commit | 282c0ea2f99b2d445471e78d5acd5778edc007ee (patch) | |
tree | 60fa6288d7745ea0f51f23bb6d9ef561c2c55b73 | |
parent | da61da0d503b64267f4da97be2a34d89c53b7337 (diff) | |
download | pecan-282c0ea2f99b2d445471e78d5acd5778edc007ee.tar.gz |
adding support for WebOb versions >=1.2
-rw-r--r-- | pecan/jsonify.py | 13 |
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) |