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