123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/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:]))
|