prepare-gpgsm-params 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env python3
  2. # PYTHON_ARGCOMPLETE_OK
  3. def fill_template(template, subject_keygrip, issuer_keygrip):
  4. print(template.read().strip().format(**{
  5. 'subject-keygrip': subject_keygrip,
  6. 'issuer-keygrip': issuer_keygrip,
  7. }))
  8. def _init_argparser():
  9. import argparse
  10. argparser = argparse.ArgumentParser(description=None)
  11. argparser.add_argument(
  12. '--template',
  13. type=argparse.FileType('r'),
  14. required=True,
  15. )
  16. argparser.add_argument(
  17. '--subject-keygrip',
  18. type=str,
  19. required=True,
  20. )
  21. argparser.add_argument(
  22. '--issuer-keygrip',
  23. type=str,
  24. required=True,
  25. )
  26. return argparser
  27. def main(argv):
  28. argparser = _init_argparser()
  29. try:
  30. import argcomplete
  31. argcomplete.autocomplete(argparser)
  32. except ImportError:
  33. pass
  34. args = argparser.parse_args(argv)
  35. fill_template(**vars(args))
  36. return 0
  37. if __name__ == "__main__":
  38. import sys
  39. sys.exit(main(sys.argv[1:]))