4 from argparse import ArgumentParser
6 from sdcBePy.common import logger
7 from sdcBePy.common.properties import init_properties
8 from sdcBePy.common.sdcBeProxy import SdcBeProxy
13 '[-s <scheme> | --scheme=<scheme> ] [-i <be host> | --ip=<be host>] [-p <be port> | '
14 '--port=<be port> ] --header=<header> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | '
15 '--debug=<true|false>] [-v <true|false> | --updateVersion=<true|false>]')
18 def load_be_config(conf_path):
19 with open(conf_path, 'r', encoding='utf-8') as f:
24 parser = ArgumentParser()
26 path = os.path.dirname(__file__)
27 parser.add_argument('--conf', default=os.path.join(path, 'data', 'beConfig.json'))
29 parser.add_argument('--ip', "-i")
30 parser.add_argument('--port', "-p")
31 parser.add_argument('--header')
32 parser.add_argument('--adminUser', "-a")
33 parser.add_argument('--https', action='store_true')
34 parser.add_argument('--updateVersion', action='store_false')
35 parser.add_argument('--debug', action='store_true')
36 parser.add_argument('--tls_cert')
37 parser.add_argument('--tls_key')
38 parser.add_argument('--tls_key_pw')
39 parser.add_argument('--ca_cert')
41 args, _ = parser.parse_known_args()
43 return [args.conf, 'https' if args.https else 'http',
44 args.ip, args.port, args.header, args.adminUser, args.updateVersion,
45 args.debug, args.tls_cert, args.tls_key, args.tls_key_pw, args.ca_cert]
49 print('Number of arguments:', len(sys.argv), 'arguments.')
51 conf_path, scheme, be_host, be_port, header, admin_user, update_version, debug, tls_cert, tls_key, tls_key_pw, ca_cert = parse_param()
52 defaults = load_be_config(conf_path)
54 # Use defaults if param not provided by the user
56 be_host = defaults["beHost"]
58 be_port = defaults["bePort"]
59 if admin_user is None:
60 admin_user = defaults["adminUser"]
63 print('scheme =', scheme, ',be host =', be_host, ', be port =', be_port, ', user =', admin_user,
64 ', debug =', debug, ', update_version =', update_version)
66 print('scheme =', scheme, ',be host =', be_host, ', be port =', be_port, ', header =', header, ', user =', admin_user,
67 ', debug =', debug, ', update_version =', update_version)
69 init_properties(defaults["retryTime"], defaults["retryAttempt"], defaults["resourceLen"])
70 return scheme, be_host, be_port, header, admin_user, update_version, debug, tls_cert, tls_key, tls_key_pw, ca_cert
73 def parse_and_create_proxy():
74 scheme, be_host, be_port, header, admin_user, update_version, debug, tls_cert, tls_key, tls_key_pw, ca_cert = get_args()
77 print('Disabling debug mode')
78 logger.debugFlag = debug
81 sdc_be_proxy = SdcBeProxy(be_host, be_port, header, scheme, tls_cert, tls_key, tls_key_pw, ca_cert, admin_user, debug=debug)
82 except AttributeError:
86 return sdc_be_proxy, update_version