Decouple TXT Report file writing and formatting logic (6/6)
[sdc.git] / catalog-be / src / main / resources / scripts / import / tosca / upgradeNormativeVersionAll.py
1 import os
2
3 import importCommon
4 from importCommon import *
5 from importHeatTypes import importHeatTypes
6 from importNormativeTypes import importNormativeTypes
7 from importOnapTypes import importOnapTypes
8
9
10 def usage():
11     print sys.argv[0], \
12         '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | --debug=<true|false>] [-v <true|false> | --updateversion=<true|false>]'
13
14
15 def handleResults(results, update_version):
16     print_frame_line()
17     for result in results:
18         print_name_and_return_code(result[0], result[1])
19     print_frame_line()
20
21     response_codes = [200, 201]
22
23     if update_version == 'false':
24         response_codes = [200, 201, 409]
25
26     failed_results = filter(lambda x: x[1] is None or x[1] not in response_codes, results)
27     if len(list(failed_results)) > 0:
28         error_and_exit(1, None)
29
30
31 def main(argv):
32     print 'Number of arguments:', len(sys.argv), 'arguments.'
33
34     be_host = 'localhost'
35     be_port = '8080'
36     admin_user = 'jh0003'
37     debug_f = None
38     update_version = 'true'
39     importCommon.debugFlag = False
40     scheme = 'http'
41
42     try:
43         opts, args = getopt.getopt(argv, "i:p:u:d:v:h:s:",
44                                    ["ip=", "port=", "user=", "debug=", "updateversion=", "scheme="])
45     except getopt.GetoptError:
46         usage()
47         error_and_exit(2, 'Invalid input')
48
49     for opt, arg in opts:
50         # print opt, arg
51         if opt == '-h':
52             usage()
53             sys.exit(3)
54         elif opt in ("-i", "--ip"):
55             be_host = arg
56         elif opt in ("-p", "--port"):
57             be_port = arg
58         elif opt in ("-u", "--user"):
59             admin_user = arg
60         elif opt in ("-s", "--scheme"):
61             scheme = arg
62         elif opt in ("-d", "--debug"):
63             print arg
64             debug_f = bool(arg.lower() == "true" or arg.lower() == "yes")
65         elif opt in ("-v", "--updateversion"):
66             print arg
67             if arg.lower() == "false" or arg.lower() == "no":
68                 update_version = 'false'
69
70     print 'scheme =', scheme, ', be host =', be_host, ', be port =', be_port, ', user =', admin_user, ', debug =', debug_f, ', updateversion =', update_version
71
72     if debug_f is not None:
73         print 'set debug mode to ' + str(debug_f)
74         importCommon.debugFlag = debug_f
75
76     if be_host is None:
77         usage()
78         sys.exit(3)
79
80     print sys.argv[0]
81     path_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
82     debug("path dir =" + path_dir)
83
84     base_file_location = path_dir + "/../../../import/tosca/"
85
86     file_location = base_file_location + "normative-types/"
87     results = importNormativeTypes(scheme, be_host, be_port, admin_user, file_location, update_version)
88     handleResults(results, update_version)
89
90     file_location = base_file_location + "heat-types/"
91     results_heat = importHeatTypes(scheme, be_host, be_port, admin_user, file_location, update_version)
92     handleResults(results_heat, update_version)
93
94     file_location = base_file_location + "onap-types/"
95     results_onap = importOnapTypes(scheme, be_host, be_port, admin_user, file_location, update_version)
96     handleResults(results_onap, update_version)
97
98     error_and_exit(0, None)
99
100
101 if __name__ == "__main__":
102     main(sys.argv[1:])