def _main()

in c3dm/tools/tabulate.py [0:0]


def _main():
	"""\
	Usage: tabulate [options] [FILE ...]

	Pretty-print tabular data.
	See also https://bitbucket.org/astanin/python-tabulate

	FILE                      a filename of the file with tabular data;
							  if "-" or missing, read data from stdin.

	Options:

	-h, --help                show this message
	-1, --header              use the first row of data as a table header
	-o FILE, --output FILE    print table to FILE (default: stdout)
	-s REGEXP, --sep REGEXP   use a custom column separator (default: whitespace)
	-F FPFMT, --float FPFMT   floating point number format (default: g)
	-f FMT, --format FMT      set output table format; supported formats:
							  plain, simple, grid, fancy_grid, pipe, orgtbl,
							  rst, mediawiki, html, latex, latex_raw,
							  latex_booktabs, tsv
							  (default: simple)
	"""
	import getopt
	import sys
	import textwrap
	usage = textwrap.dedent(_main.__doc__)
	try:
		opts, args = getopt.getopt(sys.argv[1:],
					 "h1o:s:F:A:f:",
					 ["help", "header", "output", "sep=", "float=", "align=",
					  "format="])
	except getopt.GetoptError as e:
		print(e)
		print(usage)
		sys.exit(2)
	headers = []
	floatfmt = _DEFAULT_FLOATFMT
	colalign = None
	tablefmt = "simple"
	sep = r"\s+"
	outfile = "-"
	for opt, value in opts:
		if opt in ["-1", "--header"]:
			headers = "firstrow"
		elif opt in ["-o", "--output"]:
			outfile = value
		elif opt in ["-F", "--float"]:
			floatfmt = value
		elif opt in ["-C", "--colalign"]:
			colalign = value.split()
		elif opt in ["-f", "--format"]:
			if value not in tabulate_formats:
				print("%s is not a supported table format" % value)
				print(usage)
				sys.exit(3)
			tablefmt = value
		elif opt in ["-s", "--sep"]:
			sep = value
		elif opt in ["-h", "--help"]:
			print(usage)
			sys.exit(0)
	files = [sys.stdin] if not args else args
	with (sys.stdout if outfile == "-" else open(outfile, "w")) as out:
		for f in files:
			if f == "-":
				f = sys.stdin
			if _is_file(f):
				_pprint_file(f, headers=headers, tablefmt=tablefmt,
							 sep=sep, floatfmt=floatfmt, file=out,
							 colalign=colalign)
			else:
				with open(f) as fobj:
					_pprint_file(fobj, headers=headers, tablefmt=tablefmt,
								 sep=sep, floatfmt=floatfmt, file=out,
								 colalign=colalign)