#!/usr/bin/env python3

import argparse
import hconfig
import sys
import os

if __name__ == '__main__':
  parser = argparse.ArgumentParser(description=hconfig.__doc__)
  parser.add_argument("file", nargs="+")
  parser.add_argument("-o", "--output", help="output (otherwise stdout)")
  parser.add_argument("-f", "--output-format", help="format of output file", default='yaml')
  parser.add_argument("-s", "--strict-base", help="pass this flag to enable strict base", action='store_true')
  parser.add_argument("-D", "--debug", help="print debug logs", action='store_true', default=False)
  args = parser.parse_args()
  if args.debug:
    print("Running with args={}".format(args))
    print("environ={}".format(repr(os.environ)))
  if args.output:
    hconfig.merge_files(args.output, *args.file, strict_base=args.strict_base, output_format=args.output_format)
  else:
    hconfig.merge_files_to_stream(
      sys.stdout, *args.file, strict_base=args.strict_base, output_format=args.output_format)
