in tools/gen-release-vote.py [0:0]
def parseArgsAndConfig():
parser = argparse.ArgumentParser(description='Generates Release Candidate Vote Email')
parser.add_argument('-v', '--verbose', help='verbose output', action='store_true')
parser.add_argument('-n', '--dryrun', help='verbose output', action='store_true')
parser.add_argument('-mc', '--mail-conf', help='YAML configuration file for mailer', metavar='YAML', type=argparse.FileType('r'), required=False)
parser.add_argument('-s', '--subject', help='Component name for subject line', metavar='NAME')
parser.add_argument('-i', '--signature', help='Signature line to conclude email', metavar='SIGNATURE')
parser.add_argument('rc_conf', help='JSON configuration file for release candidate', metavar='release-config-file', type=argparse.FileType('r'))
if argcomplete:
argcomplete.autocomplete(parser)
args = parser.parse_args()
args.rcConfig = json.load(args.rc_conf)
if not args.dryrun and 'mail_conf' in args and args.mail_conf is not None:
args.mailConfig = yaml.load(args.mail_conf, Loader=yaml.FullLoader)
if 'mail' not in args.mailConfig:
print('Error: bad configuration, need "mail" properties.')
return
else:
args.mailConfig = args.mailConfig['mail']
else:
args.mailConfig = None
return args