From b99193ba68f947802245a288940e54904ecbee61 Mon Sep 17 00:00:00 2001 From: Triatmoko Date: Fri, 18 Nov 2011 13:23:49 +0100 Subject: final version --- Under-Testing/Server-Code-New/truthtableClass.py | 233 ----------------------- 1 file changed, 233 deletions(-) delete mode 100644 Under-Testing/Server-Code-New/truthtableClass.py (limited to 'Under-Testing/Server-Code-New/truthtableClass.py') diff --git a/Under-Testing/Server-Code-New/truthtableClass.py b/Under-Testing/Server-Code-New/truthtableClass.py deleted file mode 100644 index c45ab4d..0000000 --- a/Under-Testing/Server-Code-New/truthtableClass.py +++ /dev/null @@ -1,233 +0,0 @@ -import DbClass - -class trueTable: - def __init__(self, resultsList): - - self.resultsList = resultsList - self.outGoingRZ = None - self.asteriskServer = None - self.incomingRZ = None - self.openBSC = None - self.nanoBTS = None - self.deviceStatus = list() - self.testMount = len(resultsList) - self.OK = 0 - self.FAILED = 0 - self.handlerError = 0 - - def initDB(self): - # function for connect to database - self.db = DbClass.DBMySQLConnection() - self.db.connectDB() - self.dbStatus = self.db.connectDB() - - def lookingBTSname(self, btsname): - if len(self.nanoBts) == 0: - self.found = False - else: - found = False - for y in self.nanoBts: #find the existing nanoBts result - name = y[0] - if name == btsName: - self.found = True - return self.found - - def findStatusInList(self,key): - - if len(self.deviceStatus) == 0: - update = False - else: - update = False - for item in self.deviceStatus: - if key == item[0] and str(item[1]) != 'OK': - update = True - return update - - def initNagiosResult(self): - self.initDB() - deviceLists = self.db.deviceList() - self.db.closeDBConn() - - for items in deviceLists: - device = items[0] - for result in self.resultsList: - if device == result[0] or device == result[1]: - if int(result[2]) == 200: - if self.findStatusInList(device) == True: - try: - self.deviceStatus.remove([device,'NOT OK']) - except: - try: - self.deviceStatus.remove([device,'UNKNOWN']) - except: - continue - self.deviceStatus.append([device,'OK']) - else: - self.deviceStatus.append([device,'OK']) - - elif int(result[2]) == 486: - found = False - for item in self.deviceStatus: - if device == item[0]: - if str(item[1]) != 'OK' or str(item[1]) == 'OK': - found = True - if found == False: - self.deviceStatus.append([device,'NOT OK']) - else: - found = False - for item in self.deviceStatus: - if device == item[0]: - if str(item[1]) != 'OK' or str(item[1]) == 'OK': - found = True - if found == False: - self.deviceStatus.append([device,'UNKNOWN']) - for status in self.deviceStatus: - - if status[1] == 'OK': - self.OK = self.OK+1 - elif status[1] == 'NOT OK': - self.FAILED = self.FAILED+1 - else: - self.handlerError = self.handlerError+1 - - def initTrueTable(self): - global btsName - self.initDB() - deviceLists = self.db.deviceList() #fetch device list from database - externalRZList = list() - - for devLists in deviceLists: #define category of the external devices - device = devLists[0] - - if device[0:5] == 'GSMEx' or device == 'landline': - externalRZList.append(device) # fetch into the list - self.db.closeDBConn() - lists = self.resultsList - self.nanoBts = list() - gsmResultList = list() - - i= 1 - for w in lists: - call=w[0] - dest=w[1] - - - if call[0:5]=='GSMRZ': - if i <= int(call[5:]): - i = int(call[5:]) - if dest[0:5]=='GSMRZ': - - if i <= int(dest[5:]): - i = int(dest[5:]) - i = i+1 - - for x in lists: # to find nanoBts, asterik server and open BSC status regarding result test for GSM RZ - call=x[0] - dest=x[1] - result=x[2] - stop = False - j=1 - - if call[0:5]=='GSMRZ' or dest[0:5]=='GSMRZ': - while stop != True: - if j != i: - key = 'GSMRZ'+str(j) - if key == call or key == dest: - - btsName = 'nanoBts '+str(j) - if result == '200': - - btsName = 'nanoBts '+str(j) - self.asteriskServer = True #set status of asterik server as working - self.lookingBTSname(btsName) - if self.found != True: - #if doesnt found the nanoBts, add the result to the list, otherwise just ignoring - try: - self.nanoBts.remove(btsName) - except ValueError: - message = 'Error' - - self.nanoBts.append([btsName,True]) - - if key == call: - for z in externalRZList:# find the result for outgoing call from GSM RZ to external RZ network - if dest == z: - self.outGoingRZ = True #set status as working for outgoing RZ - if key == dest: - for z in externalRZList: - if call == z: - self.incomingRZ = True # find the result for imcoming call to GSM RZ from external RZ network - elif result == '486': - found = False - if key == call: - for z in externalRZList: - if dest == z and self.outGoingRZ != True: - self.outGoingRZ = False - if key == dest: - for z in externalRZList: - if call == z and self.incomingRZ != True: - self.incomingRZ = False - if self.nanoBts == '': - self.nanoBts.append([btsName,False]) - for y in self.nanoBts: #find the existing nanoBts result - name = y[0] - if name == btsName and y[1] == True: - found = True - if found != True: - self.nanoBts.append([btsName,False]) - - elif (str(result) == '801' or str(result) == '999') and key == call: - self.lookingBTSname(key) - if self.found != True: - self.nanoBts.append([key,result]) - - elif (str(result) == '802' or str(result) == '998') and key == dest: - self.lookingBTSname(key) - if self.found != True: - self.nanoBts.append([key,result]) - - j = j+1 - elif j == i: - stop = True - - if call[0:5]=='GSMEx': # looking for calling from GSMexternal - found = False - if len(self.nanoBts) == 0: - self.nanoBts.append([call,result]) - found = False - else: - for y in self.nanoBts: #find the existing result for GSM external in the list - name = y[0] - if name == call: - if int(result) == 200: - if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 801: - self.nanoBts.remove(y) - else: - found = True - if found != True: - self.nanoBts.append([call,result]) - - if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal - found = False - if len(self.nanoBts) == 0: - self.nanoBts.append([dest,result]) - found = False - else: - - for y in self.nanoBts: - name = y[0] - if name == dest: - if int(result) == 200: - if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 402 or int(y[1]) == 802: - self.nanoBts.remove(y) - else: - found = True - if found != True: - self.nanoBts.append([dest,result]) - - - for device in externalRZList: - if device == dest and int(result) == 200: - self.outGoingRZ = True - - -- cgit v1.2.3-55-g7522