@@ -6,13 +6,20 @@ import datetime from storage import Storage from html import TAG from html import xmlescape from languages import lazyT -import contrib.simplejson as simplejson import contrib.rss2 as rss2 +try: + import json as json_parser # try stdlib (Python 2.6) +except ImportError: + try: + import simplejson as json_parser # try external module + except: + import contrib.simplejson as json_parser # fallback to pure-Python module + def custom_json(o): if hasattr(o,'custom_json') and callable(o.custom_json): return o.custom_json() if isinstance(o, (datetime.date, datetime.datetime, @@ -48,11 +55,11 @@ def xml(value, encoding='UTF-8', key='document'): return ('' % encoding) + str(xml_rec(value,key)) def json(value,default=custom_json): - return simplejson.dumps(value,default=default) + return json_parser.dumps(value,default=default) def csv(value): return '' @@ -73,6 +80,8 @@ )\ for entry in feed['entries'] ] ) return rss2.dumps(rss) + +