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