Decouple TXT Report file writing and formatting logic (6/6)
[sdc.git] / catalog-be / src / main / resources / scripts / import / tosca / importNormativeCapabilities.py
1 import importCommon
2 from importCommon import *
3 from importNormativeElements import createNormativeElement
4
5
6 #################################################################################################################################################################################################
7 #                                                                                                                                                                                                                                                                                                                                                                                       #
8 # Import normative capabilities                                                                                                                                                                                                                                                                                                                                 #
9 #                                                                                                                                                                                                                                                                                                                                                                                               #
10 # activation :                                                                                                                                                                                                                                                                                                                                                                  #
11 #       python importNormativeCapabilities.py [-s <scheme> | --scheme=<scheme> ] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ]   #
12 #                                                                                                                                                                                                                                                                                                                                                                                               #
13 # shortest activation (be host = localhost, be port = 8080):                                                                                                                                                                                                                                                                    #
14 #               python importNormativeCapabilities.py [-f <input file> | --ifile=<input file> ]                                                                                                                                                                                                         #
15 #                                                                                                                                                                                                                                                                                                                                                                                       #
16 #################################################################################################################################################################################################
17
18
19 def usage():
20     print sys.argv[0], \
21         '[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> ]'
22
23
24 def importNormativeCapabilities(scheme, be_host, be_port, admin_user, exit_on_success, file_dir):
25     result = createNormativeElement(scheme, be_host, be_port, admin_user, file_dir,
26                                     "/sdc2/rest/v1/catalog/uploadType/capability", "capabilityTypes",
27                                     "capabilityTypeZip")
28
29     print_frame_line()
30     print_name_and_return_code(result[0], result[1])
31     print_frame_line()
32
33     if result[1] is None or result[1] not in [200, 201, 409]:
34         importCommon.error_and_exit(1, None)
35     else:
36         if exit_on_success is True:
37             importCommon.error_and_exit(0, None)
38
39
40 def main(argv):
41     print 'Number of arguments:', len(sys.argv), 'arguments.'
42
43     be_host = 'localhost'
44     be_port = '8080'
45     admin_user = 'jh0003'
46     scheme = 'http'
47
48     try:
49         opts, args = getopt.getopt(argv, "i:p:u:h:s:", ["ip=", "port=", "user=", "scheme="])
50     except getopt.GetoptError:
51         usage()
52         importCommon.error_and_exit(2, 'Invalid input')
53
54     for opt, arg in opts:
55         # print opt, arg
56         if opt == '-h':
57             usage()
58             sys.exit(3)
59         elif opt in ("-i", "--ip"):
60             be_host = arg
61         elif opt in ("-p", "--port"):
62             be_port = arg
63         elif opt in ("-u", "--user"):
64             admin_user = arg
65         elif opt in ("-s", "--scheme"):
66             scheme = arg
67
68     print 'scheme =', scheme, ', be host =', be_host, ', be port =', be_port, ', user =', admin_user
69
70     if be_host is None:
71         usage()
72         sys.exit(3)
73
74     importNormativeCapabilities(scheme, be_host, be_port, admin_user, True, "../../../import/tosca/capability-types/")
75
76
77 if __name__ == "__main__":
78     main(sys.argv[1:])