summaryrefslogtreecommitdiff
path: root/tablib/formats/_json.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2010-09-25 05:49:21 -0400
committerKenneth Reitz <me@kennethreitz.com>2010-09-25 05:49:21 -0400
commit63d025888aeaf61022524f09d520e4b29687bdc5 (patch)
tree8ed36b98dece842a2ba3156aa7f76159ef1d9100 /tablib/formats/_json.py
parent5a993ac281f5dbfd0cee2039c61af0701e5fa323 (diff)
downloadtablib-63d025888aeaf61022524f09d520e4b29687bdc5.tar.gz
Added format importers.
Diffstat (limited to 'tablib/formats/_json.py')
-rw-r--r--tablib/formats/_json.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py
new file mode 100644
index 0000000..acbaf57
--- /dev/null
+++ b/tablib/formats/_json.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+
+import simplejson as json
+import tablib.core
+
+title = 'json'
+extentions = ('json', 'jsn')
+
+
+def export_set(dataset):
+ """Returns JSON representation of Dataset."""
+ return json.dumps(dataset.dict)
+
+
+def export_book(databook):
+ """Returns JSON representation of Databook."""
+
+ return json.dumps(databook._package())
+
+
+def detect(contents):
+ """Return True if contets are JSON."""
+ return False
+
+
+def import_set(in_stream):
+ """Returns dataset from JSON stream."""
+ data = tablib.core.Dataset()
+ data.dict = json.loads(in_stream)
+
+ return data
+