#!/usr/bin/env python3 """Main driver wrapper around the manic/checkout utility. Tool to assemble external respositories represented in an externals description file. """ from __future__ import absolute_import from __future__ import unicode_literals from __future__ import print_function import sys import traceback import os import manic if sys.hexversion < 0x02070000: print(70 * '*') print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) print('It appears that you are running python {0}'.format( '.'.join(str(x) for x in sys.version_info[0:3]))) print(70 * '*') sys.exit(1) if __name__ == '__main__': ARGS = manic.checkout.commandline_arguments() if ARGS.version: version_info = '' version_file_path = os.path.join(os.path.dirname(__file__),'version.txt') with open(version_file_path) as f: version_info = f.readlines()[0].strip() print(version_info) sys.exit(0) try: RET_STATUS, _ = manic.checkout.main(ARGS) sys.exit(RET_STATUS) except Exception as error: # pylint: disable=broad-except manic.printlog(str(error)) if ARGS.backtrace: traceback.print_exc() sys.exit(1)