summaryrefslogtreecommitdiffstats
path: root/asdctool
diff options
context:
space:
mode:
Diffstat (limited to 'asdctool')
-rw-r--r--asdctool/src/main/resources/scripts/python/duplicates.py60
-rw-r--r--asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py238
-rw-r--r--asdctool/src/main/resources/scripts/python/graphSize.py83
-rw-r--r--asdctool/src/main/resources/scripts/python/user/exportUsers.py161
-rw-r--r--asdctool/src/main/resources/scripts/python/user/importUsers.py304
5 files changed, 431 insertions, 415 deletions
diff --git a/asdctool/src/main/resources/scripts/python/duplicates.py b/asdctool/src/main/resources/scripts/python/duplicates.py
index be60b05909..7228677734 100644
--- a/asdctool/src/main/resources/scripts/python/duplicates.py
+++ b/asdctool/src/main/resources/scripts/python/duplicates.py
@@ -1,47 +1,49 @@
import json
import sys
-dict = {}
-dupliacteUid = {}
-#debugFlag = True
-debugFlag = False
+dict = {}
+dupliacteUid = {}
+# debugFlag = True
+debugFlag = False
+
def debug(str1, str2=""):
'print only if debug enabled'
- if (debugFlag == True): print str1, str2
+ if debugFlag:
+ print(str1, str2)
-print 'Number of arguments:', len(sys.argv), 'arguments.'
+print('Number of arguments:', len(sys.argv), 'arguments.')
with open(sys.argv[1]) as json_file:
json_data = json.load(json_file)
for x in json_data['vertices']:
- uid = None
- nodeLabel=x.get('nodeLabel')
- debug(nodeLabel)
- if ( nodeLabel == 'user' ):
- uid = x['userId']
- elif ( nodeLabel == 'tag' ):
- uid = x['name']
- elif ( nodeLabel == None ):
- pass
- elif ( nodeLabel == 'lockNode' ):
- uid = x.get('uid')
- else: uid = x['uid']
-
- debug(nodeLabel, uid)
-
- existId = dict.get(uid)
- if (existId == None):
- dict[uid] = x.get('_id')
- else:
- dupliacteUid[uid] = existId
-
- print dupliacteUid
+ uid = None
+ nodeLabel = x.get('nodeLabel')
+ debug(nodeLabel)
+ if nodeLabel == 'user':
+ uid = x['userId']
+ elif nodeLabel == 'tag':
+ uid = x['name']
+ elif nodeLabel is None:
+ pass
+ elif nodeLabel == 'lockNode':
+ uid = x.get('uid')
+ else:
+ uid = x['uid']
+
+ debug(nodeLabel, uid)
+
+ existId = dict.get(uid)
+ if existId == None:
+ dict[uid] = x.get('_id')
+ else:
+ dupliacteUid[uid] = existId
+
+ print(dupliacteUid)
# with open('data.txt', 'w') as outfile:
# json.dump(json_data, outfile)
-
# print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py b/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py
index a4bd35dd2b..086ab926ba 100644
--- a/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py
+++ b/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py
@@ -1,136 +1,144 @@
+import getopt
import json
-import sys, getopt
+import sys
from collections import OrderedDict
-dict = {}
-dupliacteUid = {}
-#debugFlag = True
-debugFlag = False
+dict = {}
+dupliacteUid = {}
+# debugFlag = True
+debugFlag = False
+
def join_strings(lst):
concat = ""
for string in lst:
- if (string != None):
- if (type(string) == int):
- string = str(string)
- concat += (string + " ")
+ if string is None:
+ if type(string) == int:
+ string = str(string)
+ concat += (string + " ")
return concat
+
def debug(desc, *args):
- 'print only if debug enabled'
- if (debugFlag == True):
- print desc, join_strings(args)
+ 'print only if debug enabled'
+ if debugFlag:
+ print(desc, join_strings(args))
+
def log(desc, arg):
- 'print log info'
- print desc, arg
+ 'print log info'
+ print(desc, arg)
+
def getUid(vertex):
- uid = None
- nodeLabel=vertex.get('nodeLabel')
- debug(nodeLabel)
- if ( nodeLabel == 'user' ):
- uid = vertex['userId']
- elif ( nodeLabel == 'tag' ):
- uid = vertex['name']
- elif ( nodeLabel == None ):
- pass
- elif ( nodeLabel == 'lockNode' ):
- uid = vertex.get('uid')
- else: uid = vertex['uid']
-
- debug(nodeLabel, uid)
-
- return uid
+ uid = None
+ nodeLabel = vertex.get('nodeLabel')
+ debug(nodeLabel)
+ if nodeLabel == 'user':
+ uid = vertex['userId']
+ elif nodeLabel == 'tag':
+ uid = vertex['name']
+ elif nodeLabel is None:
+ pass
+ elif nodeLabel == 'lockNode':
+ uid = vertex.get('uid')
+ else:
+ uid = vertex['uid']
+
+ debug(nodeLabel, uid)
+
+ return uid
+
def generateFile(inputFile, outputFile):
-
- with open(inputFile) as json_file:
- dupliacteUid = {}
- json_data = json.load(json_file)
- for x in json_data['vertices']:
- uid = getUid(x)
-
- existId = dict.get(uid)
- if (existId == None):
- dict[uid] = x.get('_id')
- else:
- dupliacteUid[uid] = existId
-
- log("duplicate ids", dupliacteUid)
-
- json_data_vertices = json_data['vertices']
- log("number of vertices is", len(json_data_vertices))
-
- ids = {}
- deleteIndexes = []
-
- for i in xrange(len(json_data_vertices)):
- #print "****** ", i, " *************"
- #print json_data_vertices[i]
- id = json_data_vertices[i]["_id"]
- uid = getUid(json_data_vertices[i])
- isDuplicateId = dupliacteUid.get(uid)
- if (isDuplicateId != None):
- debug("uid to id pair", uid if uid != None else 'None', id)
- value = ids.get(uid)
- if (value == None):
- list = [id,]
- ids[uid] = list
- else:
- value.append(id)
- deleteIndexes.append(id)
-
- log("ids", ids)
- log("deleteIndexes", deleteIndexes)
- log("deleteIndexes size", len(deleteIndexes))
-
- filter_vertex = [ x for x in json_data_vertices if x.get('_id') not in deleteIndexes ]
- json_data['vertices'] = filter_vertex
-
- log("number of vertexes after filter", len(filter_vertex))
-
- json_data_edges = json_data['edges']
-
- log("number of edges", len(json_data_edges))
-
- filter_edge = [ x for x in json_data_edges if x['_outV'] not in (deleteIndexes) and x['_inV'] not in (deleteIndexes) ]
- json_data['edges'] = filter_edge
-
- log("number of edges after filter", len(json_data['edges']))
-
- json_data = OrderedDict(sorted(json_data.items(), key=lambda t: t[0], reverse=True))
-
- with open(outputFile, 'w') as outfile:
- #json.dump(json_data, outfile)
- json.dump(json_data, outfile)
- log("output file is", outputFile);
+ with open(inputFile) as json_file:
+ dupliacteUid = {}
+ json_data = json.load(json_file)
+ for x in json_data['vertices']:
+ uid = getUid(x)
+
+ existId = dict.get(uid)
+ if existId is None:
+ dict[uid] = x.get('_id')
+ else:
+ dupliacteUid[uid] = existId
+
+ log("duplicate ids", dupliacteUid)
+
+ json_data_vertices = json_data['vertices']
+ log("number of vertices is", len(json_data_vertices))
+
+ ids = {}
+ deleteIndexes = []
+
+ for i in xrange(len(json_data_vertices)):
+ # print "****** ", i, " *************"
+ # print json_data_vertices[i]
+ id = json_data_vertices[i]["_id"]
+ uid = getUid(json_data_vertices[i])
+ isDuplicateId = dupliacteUid.get(uid)
+ if isDuplicateId is not None:
+ debug("uid to id pair", uid if uid != None else 'None', id)
+ value = ids.get(uid)
+ if value is None:
+ list = [id, ]
+ ids[uid] = list
+ else:
+ value.append(id)
+ deleteIndexes.append(id)
+
+ log("ids", ids)
+ log("deleteIndexes", deleteIndexes)
+ log("deleteIndexes size", len(deleteIndexes))
+
+ filter_vertex = [x for x in json_data_vertices if x.get('_id') not in deleteIndexes]
+ json_data['vertices'] = filter_vertex
+
+ log("number of vertexes after filter", len(filter_vertex))
+
+ json_data_edges = json_data['edges']
+
+ log("number of edges", len(json_data_edges))
+
+ filter_edge = [x for x in json_data_edges if
+ x['_outV'] not in deleteIndexes and x['_inV'] not in deleteIndexes]
+ json_data['edges'] = filter_edge
+
+ log("number of edges after filter", len(json_data['edges']))
+
+ json_data = OrderedDict(sorted(json_data.items(), key=lambda t: t[0], reverse=True))
+
+ with open(outputFile, 'w') as outfile:
+ # json.dump(json_data, outfile)
+ json.dump(json_data, outfile)
+ log("output file is", outputFile)
+
def main(argv):
- print 'Number of arguments:', len(sys.argv), 'arguments.'
- inputfile = None
- outputfile = ''
- try:
- opts, args = getopt.getopt(argv,"h:i:o:",["ifile=","ofile="])
- except getopt.GetoptError:
- print sys.argv[0], '-i <inputfile>'
- sys.exit(2)
- for opt, arg in opts:
- if opt == '-h':
- print sys.argv[0], '-i <inputfile>'
- sys.exit(3)
- elif opt in ("-i", "--ifile"):
- inputfile = arg
-
- if ( inputfile == None ):
- print sys.argv[0] ,'-i <inputfile>'
- sys.exit(3)
-
- print 'Input file is "', inputfile
- generateFile(inputfile, inputfile + '.noduplicates')
-
+ print('Number of arguments:', len(sys.argv), 'arguments.')
+ inputfile = None
+ outputfile = ''
+ try:
+ opts, args = getopt.getopt(argv, "h:i:o:", ["ifile=", "ofile="])
+ except getopt.GetoptError:
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(2)
+ for opt, arg in opts:
+ if opt == '-h':
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(3)
+ elif opt in ("-i", "--ifile"):
+ inputfile = arg
+
+ if (inputfile == None):
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(3)
+
+ print('Input file is "', inputfile)
+ generateFile(inputfile, inputfile + '.noduplicates')
+
if __name__ == "__main__":
- main(sys.argv[1:])
-
+ main(sys.argv[1:])
+
# print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/graphSize.py b/asdctool/src/main/resources/scripts/python/graphSize.py
index 6c36ec6844..236da92ecd 100644
--- a/asdctool/src/main/resources/scripts/python/graphSize.py
+++ b/asdctool/src/main/resources/scripts/python/graphSize.py
@@ -1,56 +1,59 @@
import json
import sys, getopt
-dict = {}
-dupliacteUid = {}
-#debugFlag = True
-debugFlag = False
+dict = {}
+dupliacteUid = {}
+# debugFlag = True
+debugFlag = False
+
def debug(desc, *args):
- 'print only if debug enabled'
- if (debugFlag == True):
- print desc, join_strings(args)
+ 'print only if debug enabled'
+ if debugFlag:
+ print(desc, join_strings(args))
+
def log(desc, arg):
- 'print log info'
- print desc, arg
+ 'print log info'
+ print(desc, arg)
+
def graphSize(inputFile):
-
- with open(inputFile) as json_file:
- json_data = json.load(json_file)
+ with open(inputFile) as json_file:
+ json_data = json.load(json_file)
- json_data_vertices = json_data['vertices']
- log("number of vertices is", len(json_data_vertices))
+ json_data_vertices = json_data['vertices']
+ log("number of vertices is", len(json_data_vertices))
+
+ json_data_edges = json_data['edges']
+ log("number of edges is", len(json_data_edges))
- json_data_edges = json_data['edges']
- log("number of edges is", len(json_data_edges))
def main(argv):
- print 'Number of arguments:', len(sys.argv), 'arguments.'
- inputfile = None
- outputfile = ''
- try:
- opts, args = getopt.getopt(argv,"h:i:o:",["ifile=","ofile="])
- except getopt.GetoptError:
- print sys.argv[0], '-i <inputfile>'
- sys.exit(2)
- for opt, arg in opts:
- if opt == '-h':
- print sys.argv[0], '-i <inputfile>'
- sys.exit(3)
- elif opt in ("-i", "--ifile"):
- inputfile = arg
-
- if ( inputfile == None ):
- print sys.argv[0], '-i <inputfile>'
- sys.exit(3)
-
- print 'Input file is ', inputfile
- graphSize(inputfile)
-
+ print('Number of arguments:', len(sys.argv), 'arguments.')
+ inputfile = None
+ outputfile = ''
+ try:
+ opts, args = getopt.getopt(argv, "h:i:o:", ["ifile=", "ofile="])
+ except getopt.GetoptError:
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(2)
+ for opt, arg in opts:
+ if opt == '-h':
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(3)
+ elif opt in ("-i", "--ifile"):
+ inputfile = arg
+
+ if (inputfile == None):
+ print(sys.argv[0], '-i <inputfile>')
+ sys.exit(3)
+
+ print('Input file is ', inputfile)
+ graphSize(inputfile)
+
if __name__ == "__main__":
- main(sys.argv[1:])
-
+ main(sys.argv[1:])
+
# print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/user/exportUsers.py b/asdctool/src/main/resources/scripts/python/user/exportUsers.py
index ed7515cc3e..058ad926c8 100644
--- a/asdctool/src/main/resources/scripts/python/user/exportUsers.py
+++ b/asdctool/src/main/resources/scripts/python/user/exportUsers.py
@@ -3,7 +3,6 @@ import sys, getopt
from StringIO import StringIO
import json
-
####################################################################################################################################################################################
# #
# Export all active users to file - for 1602+ #
@@ -18,113 +17,117 @@ import json
ALL_USERS_SUFFIX = '/sdc2/rest/v1/user/users'
+
def errorAndExit(errorCode, errorDesc):
- if ( errorCode > 0 ):
- print("status=" + str(errorCode) + ". " + errorDesc)
- else:
- print("status=" + str(errorCode))
- sys.exit(errorCode)
+ if errorCode > 0:
+ print("status=" + str(errorCode) + ". " + errorDesc)
+ else:
+ print("status=" + str(errorCode))
+ sys.exit(errorCode)
+
def getUsers(scheme, beHost, bePort, adminUser):
+ try:
+ buffer = StringIO()
+ c = pycurl.Curl()
- try:
- buffer = StringIO()
- c = pycurl.Curl()
+ url = scheme + '://' + beHost + ':' + bePort + ALL_USERS_SUFFIX
+ print(url)
+ c.setopt(c.URL, url)
+ c.setopt(c.WRITEFUNCTION, buffer.write)
+ # c.setopt(c.WRITEFUNCTION, lambda x: None)
+ adminHeader = 'USER_ID: ' + adminUser
+ c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
- url = scheme + '://' + beHost + ':' + bePort + ALL_USERS_SUFFIX
- print(url)
- c.setopt(c.URL, url)
- c.setopt(c.WRITEFUNCTION, buffer.write)
- #c.setopt(c.WRITEFUNCTION, lambda x: None)
- adminHeader = 'USER_ID: ' + adminUser
- c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
+ if scheme == 'https':
+ c.setopt(pycurl.SSL_VERIFYPEER, 0)
+ c.setopt(pycurl.SSL_VERIFYHOST, 0)
- if scheme == 'https':
- c.setopt(pycurl.SSL_VERIFYPEER, 0)
- c.setopt(pycurl.SSL_VERIFYHOST, 0)
+ res = c.perform()
+ # print(res)
- res = c.perform()
- #print(res)
+ # print('Status: %d' % c.getinfo(c.RESPONSE_CODE))
- #print('Status: %d' % c.getinfo(c.RESPONSE_CODE))
+ c.close()
- c.close()
+ body = buffer.getvalue()
- body = buffer.getvalue()
+ # print(body)
- #print(body)
+ return body, None
- return (body, None)
+ except Exception as inst:
+ print(inst)
+ # print type(inst) # the exception instance
+ # print inst.args # arguments stored in .args
+ # print inst # __str__ allows args to be printed directly
+ # x, y = inst.args
+ # print 'x =', x
- except Exception as inst:
- print inst
- #print type(inst) # the exception instance
- #print inst.args # arguments stored in .args
- #print inst # __str__ allows args to be printed directly
- #x, y = inst.args
- #print 'x =', x
-
- return (None, inst)
+ return None, inst
def usage():
- print sys.argv[0], '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <output file> | --ofile=<output file> ]'
+ print(sys.argv[0],
+ '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <output file> | --ofile=<output file> ]')
+
def main(argv):
- print 'Number of arguments:', len(sys.argv), 'arguments.'
+ print('Number of arguments:', len(sys.argv), 'arguments.')
+
+ adminHeader = 'jh0003'
+ beHost = 'localhost'
+ bePort = '8080'
+ outputfile = None
+ scheme = 'http'
+
+ try:
+ opts, args = getopt.getopt(argv, "i:p:f:h:s:", ["ip=", "port=", "ofile=", "scheme="])
+ except getopt.GetoptError:
+ usage()
+ errorAndExit(2, 'Invalid input')
- adminHeader = 'jh0003'
- beHost = 'localhost'
- bePort = '8080'
- outputfile = None
- scheme = 'http'
+ for opt, arg in opts:
+ # print opt, arg
+ if opt == '-h':
+ usage()
+ sys.exit(3)
+ elif opt in ("-i", "--ip"):
+ beHost = arg
+ elif opt in ("-p", "--port"):
+ bePort = arg
+ elif opt in ("-f", "--ofile"):
+ outputfile = arg
+ elif opt in ("-s", "--scheme"):
+ scheme = arg
- try:
- opts, args = getopt.getopt(argv,"i:p:f:h:s:",["ip=","port=","ofile=","scheme="])
- except getopt.GetoptError:
- usage()
- errorAndExit(2, 'Invalid input')
-
- for opt, arg in opts:
- #print opt, arg
- if opt == '-h':
- usage()
- sys.exit(3)
- elif opt in ("-i", "--ip"):
- beHost = arg
- elif opt in ("-p", "--port"):
- bePort = arg
- elif opt in ("-f", "--ofile"):
- outputfile = arg
- elif opt in ("-s", "--scheme"):
- scheme = arg
+ print('scheme =', scheme, ', be host =', beHost, ', be port =', bePort, ', output file =', outputfile)
- print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', output file =',outputfile
+ if outputfile == None:
+ usage()
+ sys.exit(3)
- if ( outputfile == None ):
- usage()
- sys.exit(3)
+ users = getUsers(scheme, beHost, bePort, adminHeader)
+ error = users[1]
+ body = users[0]
- users = getUsers(scheme, beHost, bePort, adminHeader)
- error = users[1]
- body = users[0]
+ if error is not None:
+ errorAndExit(5, str(error))
- if ( error != None ):
- errorAndExit(5, str(error))
+ # print body
- #print body
+ io = StringIO(body)
+ usersAsJson = json.load(io)
- io = StringIO(body)
- usersAsJson = json.load(io)
+ writeFile = open(outputfile, 'w')
- writeFile = open(outputfile, 'w')
+ json.dump(usersAsJson, writeFile)
- json.dump(usersAsJson, writeFile)
+ writeFile.close()
- writeFile.close()
+ print("-------------------------------------------")
+ errorAndExit(0, None)
- print("-------------------------------------------")
- errorAndExit(0, None)
if __name__ == "__main__":
- main(sys.argv[1:])
+ main(sys.argv[1:])
diff --git a/asdctool/src/main/resources/scripts/python/user/importUsers.py b/asdctool/src/main/resources/scripts/python/user/importUsers.py
index 82ddec5139..c15ecb7b7a 100644
--- a/asdctool/src/main/resources/scripts/python/user/importUsers.py
+++ b/asdctool/src/main/resources/scripts/python/user/importUsers.py
@@ -4,6 +4,7 @@ from StringIO import StringIO
import json
import copy
+
#####################################################################################################################################################################################
# #
# Import all users from a given file #
@@ -18,210 +19,209 @@ import copy
def importUsers(scheme, beHost, bePort, users, adminUser):
-
- result = []
-
- for user in users:
-
- #print("Going to add user " + user['userId'])
-
- getRes = getUser(scheme, beHost, bePort, user)
- userId = getRes[0]
- error = getRes[1]
- #print error
- if ( error != None and error == 404 ):
- res = createUser(scheme, beHost, bePort, user ,adminUser)
- result.append(res)
- else:
- if ( error == 200 ):
- curResult = (userId, 409)
- result.append(curResult)
- else:
- result.append(getRes)
-
- return result
+ result = []
+
+ for user in users:
+
+ # print("Going to add user " + user['userId'])
+
+ getRes = getUser(scheme, beHost, bePort, user)
+ userId = getRes[0]
+ error = getRes[1]
+ # print error
+ if error is not None and error == 404:
+ res = createUser(scheme, beHost, bePort, user, adminUser)
+ result.append(res)
+ else:
+ if error == 200:
+ curResult = (userId, 409)
+ result.append(curResult)
+ else:
+ result.append(getRes)
+
+ return result
def convertUsersToCreationObject(users):
+ cloneUsers = copy.deepcopy(users)
+ for user in cloneUsers:
+ # print user
+ if user.get('fullName') is not None:
+ del user['fullName']
+ # user['userId'] = user['userId'] + '1'
+ # print user
- cloneUsers = copy.deepcopy(users)
- for user in cloneUsers:
- #print user
- if (user.get('fullName') != None):
- del user['fullName']
- #user['userId'] = user['userId'] + '1'
- #print user
+ return cloneUsers
- return cloneUsers
def getUser(scheme, beHost, bePort, user):
+ userId = user['userId']
+ try:
+ buffer = StringIO()
+ c = pycurl.Curl()
+
+ # print type(userId)
+ url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user/' + str(userId)
+ c.setopt(c.URL, url)
- userId = user['userId']
- try:
- buffer = StringIO()
- c = pycurl.Curl()
+ # adminHeader = 'USER_ID: ' + adminUser
+ c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json'])
+ c.setopt(c.WRITEFUNCTION, lambda x: None)
- #print type(userId)
- url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user/' + str(userId)
- c.setopt(c.URL, url)
+ if scheme == 'https':
+ c.setopt(pycurl.SSL_VERIFYPEER, 0)
+ c.setopt(pycurl.SSL_VERIFYHOST, 0)
- #adminHeader = 'USER_ID: ' + adminUser
- c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json'])
- c.setopt(c.WRITEFUNCTION, lambda x: None)
+ res = c.perform()
- if scheme == 'https':
- c.setopt(pycurl.SSL_VERIFYPEER, 0)
- c.setopt(pycurl.SSL_VERIFYHOST, 0)
+ # print("Before get response code")
+ httpRes = c.getinfo(c.RESPONSE_CODE)
+ # print("After get response code")
+ responseCode = c.getinfo(c.RESPONSE_CODE)
- res = c.perform()
-
- #print("Before get response code")
- httpRes = c.getinfo(c.RESPONSE_CODE)
- #print("After get response code")
- responseCode = c.getinfo(c.RESPONSE_CODE)
-
- #print('Status: ' + str(responseCode))
+ # print('Status: ' + str(responseCode))
- c.close()
+ c.close()
- return (userId, httpRes)
+ return userId, httpRes
- except Exception as inst:
- print(inst)
- return (userId, None)
+ except Exception as inst:
+ print(inst)
+ return userId, None
-
def createUser(scheme, beHost, bePort, user, adminUser):
+ userId = user['userId']
+ try:
+ buffer = StringIO()
+ c = pycurl.Curl()
- userId = user['userId']
- try:
- buffer = StringIO()
- c = pycurl.Curl()
+ url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user'
+ c.setopt(c.URL, url)
+ c.setopt(c.POST, 1)
- url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user'
- c.setopt(c.URL, url)
- c.setopt(c.POST, 1)
+ adminHeader = 'USER_ID: ' + adminUser
+ c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
- adminHeader = 'USER_ID: ' + adminUser
- c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
+ data = json.dumps(user)
+ c.setopt(c.POSTFIELDS, data)
- data = json.dumps(user)
- c.setopt(c.POSTFIELDS, data)
+ c.setopt(c.WRITEFUNCTION, lambda x: None)
- c.setopt(c.WRITEFUNCTION, lambda x: None)
+ if scheme == 'https':
+ c.setopt(pycurl.SSL_VERIFYPEER, 0)
+ c.setopt(pycurl.SSL_VERIFYHOST, 0)
- if scheme == 'https':
- c.setopt(pycurl.SSL_VERIFYPEER, 0)
- c.setopt(pycurl.SSL_VERIFYHOST, 0)
+ # print("before perform")
+ res = c.perform()
+ # print(res)
- #print("before perform")
- res = c.perform()
- #print(res)
-
- #print("Before get response code")
- httpRes = c.getinfo(c.RESPONSE_CODE)
- #print("After get response code")
- responseCode = c.getinfo(c.RESPONSE_CODE)
-
- #print('Status: ' + str(responseCode))
+ # print("Before get response code")
+ httpRes = c.getinfo(c.RESPONSE_CODE)
+ # print("After get response code")
+ responseCode = c.getinfo(c.RESPONSE_CODE)
- c.close()
+ # print('Status: ' + str(responseCode))
- return (userId, httpRes)
+ c.close()
- except Exception as inst:
- print(inst)
- return (userId, None)
+ return userId, httpRes
+
+ except Exception as inst:
+ print(inst)
+ return userId, None
def errorAndExit(errorCode, errorDesc):
- if ( errorCode > 0 ):
- print("status=" + str(errorCode) + ". " + errorDesc)
- else:
- print("status=" + str(errorCode))
- sys.exit(errorCode)
-
+ if errorCode > 0:
+ print("status=" + str(errorCode) + ". " + errorDesc)
+ else:
+ print("status=" + str(errorCode))
+ sys.exit(errorCode)
+
+
def usage():
- print sys.argv[0], '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ]'
+ print(sys.argv[0],
+ '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ]')
+
def main(argv):
- print 'Number of arguments:', len(sys.argv), 'arguments.'
+ print('Number of arguments:', len(sys.argv), 'arguments.')
+
+ beHost = 'localhost'
+ bePort = '8080'
+ inputfile = None
+ scheme = 'http'
+ adminUser = 'jh0003'
+
+ try:
+ opts, args = getopt.getopt(argv, "i:p:f:h:s:", ["ip=", "port=", "ifile=", "scheme="])
+ except getopt.GetoptError:
+ usage()
+ errorAndExit(2, 'Invalid input')
- beHost = 'localhost'
- bePort = '8080'
- inputfile = None
- scheme = 'http'
- adminUser = 'jh0003'
+ for opt, arg in opts:
+ # print opt, arg
+ if opt == '-h':
+ usage()
+ sys.exit(3)
+ elif opt in ("-i", "--ip"):
+ beHost = arg
+ elif opt in ("-p", "--port"):
+ bePort = arg
+ elif opt in ("-f", "--ifile"):
+ inputfile = arg
+ elif opt in ("-s", "--scheme"):
+ scheme = arg
- try:
- opts, args = getopt.getopt(argv,"i:p:f:h:s:",["ip=","port=","ifile=","scheme="])
- except getopt.GetoptError:
- usage()
- errorAndExit(2, 'Invalid input')
-
- for opt, arg in opts:
- #print opt, arg
- if opt == '-h':
- usage()
- sys.exit(3)
- elif opt in ("-i", "--ip"):
- beHost = arg
- elif opt in ("-p", "--port"):
- bePort = arg
- elif opt in ("-f", "--ifile"):
- inputfile = arg
- elif opt in ("-s", "--scheme"):
- scheme = arg
+ print('scheme =', scheme, ', be host =', beHost, ', be port =', bePort, ', users file =', inputfile)
- print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', users file =',inputfile
-
- if ( inputfile == None ):
- usage()
- sys.exit(3)
+ if inputfile == None:
+ usage()
+ sys.exit(3)
- print 'Input file is ', inputfile
+ print('Input file is ', inputfile)
- usersFile = open(inputfile)
+ usersFile = open(inputfile)
- json_data = json.load(usersFile)
+ json_data = json.load(usersFile)
- #print json_data
+ # print json_data
- cloneUsers = convertUsersToCreationObject(json_data)
+ cloneUsers = convertUsersToCreationObject(json_data)
- activeUsers = filter(lambda x: x['status'] == 'ACTIVE', cloneUsers)
+ activeUsers = filter(lambda x: x['status'] == 'ACTIVE', cloneUsers)
- #print activeUsers
+ # print activeUsers
- resultTable = importUsers(scheme, beHost, bePort, activeUsers, adminUser)
+ resultTable = importUsers(scheme, beHost, bePort, activeUsers, adminUser)
- g = lambda x: x[1] != 201 and x[1] != 409
+ g = lambda x: x[1] != 201 and x[1] != 409
- result = filter(g, resultTable)
+ result = filter(g, resultTable)
- if ( len(result) > 0 ):
- #print("ERROR: Failed to load the users " + ', '.join(map(lambda x: x[0],result)))
- errorAndExit(3, "Failed to load the users " + ', '.join(map(lambda x: x[0],result)))
+ if (len(result) > 0):
+ # print("ERROR: Failed to load the users " + ', '.join(map(lambda x: x[0],result)))
+ errorAndExit(3, "Failed to load the users " + ', '.join(map(lambda x: x[0], result)))
- g = lambda x: x[1] == 409
- result = filter(g, resultTable)
+ g = lambda x: x[1] == 409
+ result = filter(g, resultTable)
- print("-------------------------------------------")
- print("Existing users: " + ', '.join(map(lambda x: x[0],result)))
+ print("-------------------------------------------")
+ print("Existing users: " + ', '.join(map(lambda x: x[0], result)))
- result = filter(lambda x: x[1] == 201, resultTable)
- if ( len(result) == 0 ):
- print("-------------------------------------------")
- print("No NEW user was loaded. All users are already exist")
- print("-------------------------------------------")
- else:
- print("-------------------------------------------")
- print("Loaded users: " + ', '.join(map(lambda x: x[0],result)))
- print("-------------------------------------------")
+ result = filter(lambda x: x[1] == 201, resultTable)
+ if len(result) == 0:
+ print("-------------------------------------------")
+ print("No NEW user was loaded. All users are already exist")
+ print("-------------------------------------------")
+ else:
+ print("-------------------------------------------")
+ print("Loaded users: " + ', '.join(map(lambda x: x[0], result)))
+ print("-------------------------------------------")
- errorAndExit(0, None)
+ errorAndExit(0, None)
if __name__ == "__main__":
- main(sys.argv[1:])
+ main(sys.argv[1:])