diff options
| author | Kenneth Reitz <me@kennethreitz.com> | 2010-08-28 17:14:39 -0400 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.com> | 2010-08-28 17:14:39 -0400 |
| commit | b6419d79183dad0965c8574757e333a87761a2fb (patch) | |
| tree | 421e59676715e42e5f6fd7e81f43d312351f81d4 /tablib/cli.py | |
| parent | de8ed8dd03f5417e210a7dcd29e694c5b4bfa29e (diff) | |
| download | tablib-b6419d79183dad0965c8574757e333a87761a2fb.tar.gz | |
module name refactorization
Diffstat (limited to 'tablib/cli.py')
| -rw-r--r-- | tablib/cli.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tablib/cli.py b/tablib/cli.py new file mode 100644 index 0000000..77b354d --- /dev/null +++ b/tablib/cli.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +# encoding: utf-8 + +""" Tabbed CLI Inteface Application +""" + +import io +import sys + +from helpers import * +import tabbed.core + +from packages import opster + + +FORMATS = ('json', 'yaml', 'xls', 'csv', 'html') + +opts = [] + +opts.append(('v', 'version', False, 'Report tabbed version')) + +for format in FORMATS: + opts.append(('', format, False, 'Output to %s' % (format.upper()))) + + + +@opster.command(options=opts, usage='[FILE] [--FORMAT | FILE]') +def start(in_file=None, out_file=None, **opts): + """Covertly convert dataset formats""" + + opts = Object(**opts) + + if opts.version: + print('Tabbed, Ver. %s' % tabbed.core.__version__) + sys.sys.exit(0) + + stdin = piped() + + if stdin: + print stdin + + elif in_file: + + try: + in_file = io.open(in_file, 'r') + except Exception, e: + print(' %s cannot be read.' % in_file) + sys.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.') + sys.exit(65) + else: + print('Please provide input.') + sys.exit(65) + + + + _formats_sum = sum(opts[f] for f in FORMATS) + + # Multiple output formats given + if _formats_sum > 1: + print('Please specify a single output format.') + sys.exit(64) + + # No output formats given + elif _formats_sum < 1: + print('Please specify an output format.') + sys.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
\ No newline at end of file |
