#! /usr/bin/env python
import argparse
import sys

from condent import redent


parser = argparse.ArgumentParser(
    description="A collection reindenter for Python.",
)

parser.add_argument(
    "input",
    nargs="*",
    default=[sys.stdin],
    type=argparse.FileType("r"),
)

parser.add_argument(
    "-o", "--output",
    default=sys.stdout,
    type=argparse.FileType("w"),
)

parser.add_argument(
    "-s", "--no-symmetric-colons",
    dest="symmetric_colons",
    action="store_false"
)


parser.add_argument(
    "-c", "--no-trailing-comma",
    dest="trailing_comma",
    action="store_false"
)


parser.add_argument(
    "-C", "--single-line-trailing-comma",
    dest="single_line_trailing_comma",
    action="store_true"
)


arguments = parser.parse_args()


for file in arguments.input:
    with file:
        out = redent(
            file.read(),
            symmetric_colons=arguments.symmetric_colons,
            trailing_comma=arguments.trailing_comma,
            single_line_trailing_comma=arguments.single_line_trailing_comma
        )
        arguments.output.write(out)
