#!/usr/bin/env python3

from argparse import ArgumentParser, Namespace
from signal import SIG_DFL, SIGPIPE, signal

from sortd.s_lines import dump_lines, load_lines


def parse_args() -> Namespace:
    parser = ArgumentParser()
    parser.add_argument("--read0", action="store_true")
    parser.add_argument("--print0", action="store_true")
    return parser.parse_args()


def main() -> None:
    args = parse_args()
    lines = load_lines(nul_term=args.read0)
    dump_lines(lines, nul_term=args.print0)


try:
    signal(SIGPIPE, SIG_DFL)
    main()
except KeyboardInterrupt:
    exit(130)
except BrokenPipeError:
    exit(13)
