#!/usr/bin/env python
# -*- coding: utf-8 -*-
import seutils
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
    'src', type=str, nargs='+',
    help='One or more paths to root files or directies containing root files to be merged'
    )
parser.add_argument(
    '-o', '--out', type=str, default='merged.root',
    help='Path to target root file'
    )
parser.add_argument(
    '-d', '--dry', action='store_true',
    help='Prints formatted hadd command but does not execute'
    )
parser.add_argument('-m', '--mgm', type=str, help='MGM to be used')
args = parser.parse_args()

def main():
    if args.mgm:
        mgm = args.mgm
    else:
        mgm = seutils.cli_detect_fnal()
    src = [
        seutils.cli_flexible_format(s, mgm) if (s.startswith('root:') or s.startswith('/store')) else s
        for s in args.src
        ]
    seutils.hadd(src, args.out, dry=args.dry)

if __name__ == '__main__':
    main()