Add support for PIP requirements and better arguments parsing.

This commit is contained in:
Frédéric Tronel
2024-08-06 13:54:43 +02:00
parent bafab7078b
commit fd854e9905
3 changed files with 20 additions and 16 deletions

View File

@@ -177,24 +177,24 @@ def main():
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--debug", dest='debug', action='store_true', required=False, help="Activate debug.")
parser.add_argument("-c", "--config", dest='configFileName', nargs='?', required=False, default=None, help="Configuration file.")
parser.add_argument("-u", "--user", dest='username', nargs='?', required=False, default='admin', help="Username.")
parser.add_argument("-c", "--config", dest='configFileName', required=False, default=None, help="Configuration file.")
parser.add_argument("-u", "--user", dest='username', required=False, default='admin', help="Username.")
parser.add_argument("-p", "--password", dest='password', nargs='?', required=False, default=None, help="Password.")
parser.add_argument("-H", "--host", dest='hostname', nargs='?', required=False, default=None, help="Hostname.")
parser.add_argument("-v", "--verify", dest='verify', nargs='?', type=bool, required=False, default=True, help="Verify certificate validity.")
parser.add_argument("-H", "--host", dest='hostname', required=False, default=None, help="Hostname.")
parser.add_argument("-n", "--no-tls-verification", dest='verify', action='store_true', required=False, help="Verify certificate validity.")
subparsers = parser.add_subparsers(dest='command', required=True, help='command help')
parserCreateCSR = subparsers.add_parser('csr', help='Create CSR')
parserCreateCSR.add_argument("-C", "--country", dest='country', nargs='?', required=False, default='US', help="Country.")
parserCreateCSR.add_argument("-s", "--state", dest='state', nargs='?', required=False, help="State.")
parserCreateCSR.add_argument("-c", "--city", dest='city', nargs='?', required=False, help="State.")
parserCreateCSR.add_argument("--ou", dest='organizationalUnit', nargs='?', required=False, help="Organizational Unit.")
parserCreateCSR.add_argument("--org", dest='organization', nargs='?', required=False, help="Organization.")
parserCreateCSR.add_argument("-o", "--output", dest='output', nargs='?', required=False, default=None, help="Output file.")
parserCreateCSR.add_argument("-C", "--country", dest='country', required=False, default='US', help="Country.")
parserCreateCSR.add_argument("-s", "--state", dest='state', required=False, help="State.")
parserCreateCSR.add_argument("-c", "--city", dest='city', required=False, help="State.")
parserCreateCSR.add_argument("--ou", dest='organizationalUnit', required=False, help="Organizational Unit.")
parserCreateCSR.add_argument("--org", dest='organization', required=False, help="Organization.")
parserCreateCSR.add_argument("-o", "--output", dest='output', required=False, default=None, help="Output file.")
parserInstalleCertificate = subparsers.add_parser('pem', help='Install certificate')
parserInstalleCertificate.add_argument("-i", "--input", dest='input', nargs='?', required=True, default=None, help="Input file.")
parserInstalleCertificate.add_argument("-i", "--input", dest='input', required=True, default=None, help="Input file.")
args = parser.parse_args()
logger.info("Arguments: %s" % args)
@@ -236,15 +236,16 @@ def main():
if 'city' in options:
args.city = config.get('CSR','city')
if args.password == None:
logger.error('Password is mandatory')
argparse.usage()
if args.username == None:
logger.error('Username is mandatory')
argparse.usage()
parser.print_help()
exit(-1)
if args.hostname == None:
logger.error('Hostname is mandatory')
argparse.usage()
parser.print_help()
exit(-1)
if args.password == None:
args.password = getpass.getpass()
if args.debug:
logger.info('Setting logging to debug mode')