oxdbarchive/oxdbarchive/json.py

27 lines
725 B
Python

# A JSON-based API(view) for your app.
# Most rules would look like:
#
# @jsonify.when("isinstance(obj, YourClass)")
# def jsonify_yourclass(obj):
# return [obj.val1, obj.val2]
#
# @jsonify can convert your objects to following types:
# lists, dicts, numbers and strings
from turbojson.jsonify import jsonify
@jsonify.when('isinstance(obj, ArchiveFile)')
def jsonify_ArchiveFile(obj):
result = jsonify_sqlobject( obj )
#FIXME, possibly do something with the date values
# date, date_added, modDate, pubDate
for key in ('id', 'archiveID', 'subtitle_meta_id'):
result.pop(key)
return result
@jsonify.when('isinstance(obj, datetime.datetime)')
def jsonify_datetime(obj):
return str(obj)