#!/usr/bin/env python
import xlrd
import csv
import argparse
import sys
import xml
import pcsv.utils
import pcsv.any2csv

def readCL():
    parser = argparse.ArgumentParser()
    parser.add_argument("-s","--xls_sheet", default="0", help="either sheet number or sheet name")
    parser.add_argument("--path", help="comma separated path string for json or xml. Example: 0,2,1")
    parser.add_argument("--summary", action="store_true", help="print summary information about json or xml: just the tags and depths")
    parser.add_argument("infile",default=sys.stdin, nargs="?", type=argparse.FileType('r'))
    args = parser.parse_args()
    if not args.path:
        args.path = []
    else:
        args.path = args.path.split(",")
    return args.infile, args.xls_sheet, args.path, args.summary

if __name__ == "__main__":
    infile, xls_sheet, path, summary = readCL()
    txt = infile.read()
    if not txt:
        sys.stderr.write("ERROR: empty input found. Exiting..." + "\n")
        sys.exit(-1)
    pcsv.any2csv.any2csv(txt, xls_sheet=xls_sheet, path=path, summary=summary, to_stdout=True)
