#!/usr/bin/env python3

import sys

import yaml


def inputs(args):
    if args:
        for filename in args:
            with open(filename) as f:
                yield filename, f
    else:
        yield "-", sys.stdin


def string_representer(dumper, data):
    style = None
    if "\n" in data:
        style = "|"
    return dumper.represent_scalar("tag:yaml.org,2002:str", data, style=style)


yaml.add_representer(str, string_representer, Dumper=yaml.SafeDumper)


objs = []
for filename, f in inputs(sys.argv[1:]):
    objs.append(yaml.load(f, Loader=yaml.CSafeLoader))
yaml.safe_dump_all(objs, stream=sys.stdout, indent=4, default_flow_style=False)
