#!/opt/alt/python38/bin/python3.8 import argparse import json import sys def compose(args): data = {'domain': args.domain} for item in 'key', 'certificate', 'chain': item_path = getattr(args, item, None) if not item_path: continue with open(item_path) as f: data[item] = f.read() json.dump([data], sys.stdout) def parse_args(): args = argparse.ArgumentParser() args.add_argument('-d', '--domain', help="domain") args.add_argument('-k', '--key', help="Key path") args.add_argument('-c', '--certificate', help="Certificate path") args.add_argument('-C', '--chain', help="Chain path") return args.parse_args() if __name__ == '__main__': args = parse_args() if not any(vars(args).values()): sys.exit() compose(args)