#!/usr/bin/env python3 # PYTHON_ARGCOMPLETE_OK import dateutil.parser import pytz def fill_template(template, subject_keygrip, issuer_keygrip, expiry_datetime): print(template.read().strip().format(**{ 'subject-keygrip': subject_keygrip, 'issuer-keygrip': issuer_keygrip, 'not-after': dateutil.parser.parse(expiry_datetime) .astimezone(pytz.utc) .replace(tzinfo=None) .isoformat(sep=' '), })) def _init_argparser(): import argparse argparser = argparse.ArgumentParser(description=None) argparser.add_argument( '--template', type=argparse.FileType('r'), required=True, ) argparser.add_argument( '--subject-keygrip', type=str, required=True, ) argparser.add_argument( '--issuer-keygrip', type=str, required=True, ) argparser.add_argument( '--expiry-datetime', type=str, required=True, ) return argparser def main(argv): argparser = _init_argparser() try: import argcomplete argcomplete.autocomplete(argparser) except ImportError: pass args = argparser.parse_args(argv) fill_template(**vars(args)) return 0 if __name__ == "__main__": import sys sys.exit(main(sys.argv[1:]))