mirror of
https://github.com/kennethreitz/tablib.git
synced 2026-06-05 23:10:17 +00:00
Added AnyJSON to json format system
This commit is contained in:
+7
-13
@@ -3,15 +3,9 @@
|
||||
""" Tablib - JSON Support
|
||||
"""
|
||||
|
||||
try:
|
||||
import json # load system JSON (Python >= 2.6)
|
||||
except ImportError:
|
||||
try:
|
||||
import simplejson as json
|
||||
except ImportError:
|
||||
from tablib.packages import simplejson as json # use the vendorized copy
|
||||
|
||||
import tablib.core
|
||||
from tablib.packages import anyjson
|
||||
|
||||
|
||||
|
||||
title = 'json'
|
||||
@@ -20,26 +14,26 @@ extentions = ('json', 'jsn')
|
||||
|
||||
def export_set(dataset):
|
||||
"""Returns JSON representation of Dataset."""
|
||||
return json.dumps(dataset.dict)
|
||||
return anyjson.serialize(dataset.dict)
|
||||
|
||||
|
||||
def export_book(databook):
|
||||
"""Returns JSON representation of Databook."""
|
||||
return json.dumps(databook._package())
|
||||
return anyjson.serialize(databook._package())
|
||||
|
||||
|
||||
def import_set(dset, in_stream):
|
||||
"""Returns dataset from JSON stream."""
|
||||
|
||||
dset.wipe()
|
||||
dset.dict = json.loads(in_stream)
|
||||
dset.dict = anyjson.deserialize(in_stream)
|
||||
|
||||
|
||||
def import_book(dbook, in_stream):
|
||||
"""Returns databook from JSON stream."""
|
||||
|
||||
dbook.wipe()
|
||||
for sheet in json.loads(in_stream):
|
||||
for sheet in anyjson.deserialize(in_stream):
|
||||
data = tablib.core.Dataset()
|
||||
data.title = sheet['title']
|
||||
data.dict = sheet['data']
|
||||
@@ -49,7 +43,7 @@ def import_book(dbook, in_stream):
|
||||
def detect(stream):
|
||||
"""Returns True if given stream is valid JSON."""
|
||||
try:
|
||||
json.loads(stream)
|
||||
anyjson.deserialize(stream)
|
||||
return True
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user