summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst8
-rw-r--r--setup.py53
-rw-r--r--tablib/core.py19
-rw-r--r--tablib/packages/xlwt/__init__.py2
-rw-r--r--tablib/tests/tests.py8
5 files changed, 51 insertions, 39 deletions
diff --git a/README.rst b/README.rst
index 96f4e56..47b91cb 100644
--- a/README.rst
+++ b/README.rst
@@ -95,4 +95,10 @@ Manipulate rows by index: ::
.. Export to various formats: ::
..
.. # Save copy as CSV
-.. data.export('backup.csv') \ No newline at end of file
+.. data.export('backup.csv')
+
+Roadmap
+-------
+- Import datasets from CSV, JSON, YAML
+- Auto-detect import format
+- Plugin support \ No newline at end of file
diff --git a/setup.py b/setup.py
index b6193dd..c01b835 100644
--- a/setup.py
+++ b/setup.py
@@ -8,29 +8,36 @@ from distutils.core import setup
def publish():
- """Publish to PyPi"""
- os.system("python setup.py sdist upload")
+ """Publish to PyPi"""
+ os.system("python setup.py sdist upload")
+
if sys.argv[-1] == "publish":
- publish()
- sys.exit()
+ publish()
+ sys.exit()
-setup(name='tablib',
- version=tablib.__version__,
- description='Python wrapper for Gist API',
- long_description=open('README.rst').read() + '\n\n' +
- open('HISTORY.rst').read(),
- author='Kenneth Reitz',
- author_email='me@kennethreitz.com',
- url='http://github.com/kennethreitz/tabbed',
- packages=['tablib'],
- license='MIT',
- classifiers=(
- "Development Status :: 4 - Beta",
- "License :: OSI Approved :: MIT License",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2.5",
- "Programming Language :: Python :: 2.6",
- "Programming Language :: Python :: 2.7",
- )
- )
+setup(
+ name='tablib',
+ version='0.0.4',
+ description='Python wrapper for Gist API',
+ long_description=open('README.rst').read() + '\n\n' +
+ open('HISTORY.rst').read(),
+ author='Kenneth Reitz',
+ author_email='me@kennethreitz.com',
+ url='http://github.com/kennethreitz/tablib',
+ packages=['tablib'],
+ license='MIT',
+ classifiers=(
+ 'Development Status :: 4 - Beta',
+ 'License :: OSI Approved :: MIT License',
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 2.5',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ ),
+ entry_points={
+ 'console_scripts': [
+ 'tabbed = tablib.cli:start',
+ ],
+ }
+)
diff --git a/tablib/core.py b/tablib/core.py
index 9404703..6ce9316 100644
--- a/tablib/core.py
+++ b/tablib/core.py
@@ -24,6 +24,7 @@ except ImportError, why:
__all__ = ['Dataset', 'source']
+__name__ = 'tablib'
__version__ = '0.0.4'
__build__ = '0x000004'
__author__ = 'Kenneth Reitz'
@@ -167,18 +168,20 @@ class Dataset(object):
for j, col in enumerate(row):
ws.write(i, j, col)
- doc = xlwt.CompoundDoc.XlsDoc()
- doc.save(stream, wb.get_biff_data())
-
+ wb.save(stream)
return stream.getvalue()
- def append(self, row, index=None):
- # todo: impliment index
+ def append(self, row):
+ """Adds a row to the end of Dataset"""
self._validate(row)
self._data.append(tuple(row))
-
+ def index(self, i, row):
+ """Inserts a row at given position in Dataset"""
+ self._validate(row)
+ self._data.insert(i, tuple(row))
+
def sort_by(self, key):
"""Sorts datastet by given key"""
# todo: accpept string if headers, or index nubmer
@@ -188,9 +191,7 @@ class Dataset(object):
def save(self, filename=None, format=None):
"""Saves dataset"""
if not format:
- # set format from filename
-# format = filename
- pass
+ format = filename.split('.')[-1].lower() # set format from filename
if format not in FILE_EXTENSIONS:
raise UnsupportedFormat
diff --git a/tablib/packages/xlwt/__init__.py b/tablib/packages/xlwt/__init__.py
index 5053413..6f2a1b5 100644
--- a/tablib/packages/xlwt/__init__.py
+++ b/tablib/packages/xlwt/__init__.py
@@ -14,5 +14,3 @@ from Column import Column
from Formatting import Font, Alignment, Borders, Pattern, Protection
from Style import XFStyle, easyxf
from ExcelFormula import *
-
-import CompoundDoc
diff --git a/tablib/tests/tests.py b/tablib/tests/tests.py
index 187fb27..55fa083 100644
--- a/tablib/tests/tests.py
+++ b/tablib/tests/tests.py
@@ -20,7 +20,7 @@ data.append(['kenneth' ,'reitz', 4.3])
#print data.json
data.headers = None
-#print data.csv
-print data.xls
-#print data.yaml
-#print data.json \ No newline at end of file
+print data.csv
+#print len(data.xls)
+print data.yaml
+print data.json \ No newline at end of file