mirror of
https://github.com/kennethreitz/tablib.git
synced 2026-06-05 23:10:17 +00:00
cli | paing coming along
This commit is contained in:
+68
-9
@@ -1,23 +1,82 @@
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
import io
|
||||
import sys
|
||||
|
||||
from helpers import *
|
||||
# from core import Parse
|
||||
import tabbed.core
|
||||
|
||||
|
||||
from packages import opster
|
||||
|
||||
opts = [('v', 'version', False, 'Report tabbed version')]
|
||||
|
||||
opts = (
|
||||
('v', 'version', False, 'Report tabbed version'),
|
||||
('', 'to', False, 'Output format')
|
||||
)
|
||||
formats = ('json', 'yaml', 'xls', 'csv', 'html')
|
||||
|
||||
for format in formats:
|
||||
opts.append(('', format, False, 'Output to %s' % (format.upper())))
|
||||
|
||||
|
||||
@opster.command(options=opts, usage='[FILE] [--to] [FILE]')
|
||||
def start(**opts):
|
||||
@opster.command(options=opts, usage='[FILE] [--FORMAT | FILE]')
|
||||
def start(in_file=None, out_file=None, **opts):
|
||||
""" Converts dataset formats """
|
||||
|
||||
print opts
|
||||
opts = Object(**opts)
|
||||
|
||||
opts = Object(**opts)
|
||||
if opts.version:
|
||||
print('Tabbed, Ver. %s' % tabbed.core.__version__)
|
||||
exit(0)
|
||||
|
||||
stdin = piped()
|
||||
|
||||
if stdin:
|
||||
print stdin
|
||||
|
||||
elif in_file:
|
||||
|
||||
in_file = io.open(in_file, 'r')
|
||||
|
||||
print in_file.read()
|
||||
try:
|
||||
in_file = io.open(in_file)
|
||||
except Exception, e:
|
||||
print(' %s cannot be read.' % in_file)
|
||||
exit(65)
|
||||
|
||||
|
||||
file_ext = in_file.name.split('.')[-1]
|
||||
|
||||
if file_ext.lower() in formats:
|
||||
setattr(opts, file_ext, True)
|
||||
else:
|
||||
print('Import format not supported.')
|
||||
exit(65)
|
||||
else:
|
||||
print('Please provide input.')
|
||||
|
||||
|
||||
|
||||
_formats_sum = sum(opts[f] for f in formats)
|
||||
|
||||
# Multiple output formats given
|
||||
if _formats_sum > 1:
|
||||
print('Please specify a single output format.')
|
||||
exit(64)
|
||||
|
||||
# No output formats given
|
||||
elif _formats_sum < 1:
|
||||
print('Please specify an output format.')
|
||||
exit(64)
|
||||
|
||||
|
||||
# fetch options.formats list
|
||||
# if sum(()) > 1
|
||||
# log only one data format please
|
||||
# if sum of formats == 0, specity format
|
||||
|
||||
# look for filename
|
||||
|
||||
print opts.__dict__
|
||||
print in_file
|
||||
print out_file
|
||||
Reference in New Issue
Block a user