# SVN changeset patch # User imanay # Date 2013-10-06 02:39:59.049405 # Revision 252 Monitoring test Index: trunk/absroot/source/abspy/bin/server3.py =================================================================== diff --git a/trunk/absroot/source/abspy/bin/server3.py b/trunk/absroot/source/abspy/bin/server3.py --- a/trunk/absroot/source/abspy/bin/server3.py (revision 251) +++ b/trunk/absroot/source/abspy/bin/server3.py (revision 252) @@ -289,9 +289,9 @@ def __getControlModuleStatus_new(self, cmd, type): cm_lst = self.__gettingDataFromControlModules(self, cmd, rx_buffer = type) - out_lst = self.__processingCMdata(in_data = cm_lst, type = type) - - return "".join(lst_out) + out_str = self.__processingCMdata(in_data = cm_lst, type = type) + + return out_str def __gettingDataFromControlModules(self, cmd, rx_buffer): @@ -318,46 +318,112 @@ def __TwoComparation(self, in_lst): - cm_up =[] - cm_dw =[] - relay_up =[] - relay_dw =[] - - for i in in_lst: - if len(i) == 8: - relay_up.append("-") - relay_dw.append("-") - cm_up.append("-") - cm_dw.append("-") - continue - relay_up.append(i[14:17]) - relay_dw.append(i[17:20]) - cm_up.append(i[21:24]) - cm_dw.append(i[24:27]) - - comp_up = [] - comp_dw = [] - + + file = [] + relay = [] + status = [] + mode = '0' + cnt = 0 + + if mode == '0': + + for i in in_lst: + if len(i) == 8: + file.append("xxxxxx") + relay.append("xxxxxx") + else: + file.append(i[14:20]) + relay.append(i[21:27]) + #Loop to generate a status + for i in range(64): + if file[i] == "xxxxxx": + status.append("xx") + continue + + if cmp(file[i],relay[i]) == 0: + cnt = cnt + 1 + + if cmp(file[i][0:3],relay[i][0:3]) == 0: + cnt = cnt + 1 + + if cmp(file[i][3:6],relay[i][3:6]) == 0: + cnt = cnt + 2 + + if cnt == 4: + status.append("00") + elif cnt == 0: + status.append("11") + elif cnt == 1: + status.append("11") + else: + status.append("01") + + else: + + cm_up =[] + cm_dw =[] + relay_up =[] + relay_dw =[] + + for i in in_lst: + if len(i) == 8: + relay_up.append("-") + relay_dw.append("-") + cm_up.append("-") + cm_dw.append("-") + continue + relay_up.append(i[14:17]) + relay_dw.append(i[17:20]) + cm_up.append(i[21:24]) + cm_dw.append(i[24:27]) + + comp_up = [] + comp_dw = [] + + for i in range(64): + if len(relay_up == 1): + comp_up.append('x') + else: + if cmp(relay_up[i], cm_up[i]) == 0: + comp_up.append('0') + else: + comp_up.append('1') + + for i in range(64): + if len(relay_dw == 1): + comp_dw.append('x') + else: + if cmp(relay_dw[i], cm_dw[i]) == 0: + comp_dw.append('0') + else: + comp_dw.append('1') + + # Example: + # comp_up = [1,0,x,1,1,1 ..,1,0,1,x] + # + print comp_up + print comp_dw + + #Doing final format + return self.__FinalFormat(data1 = file, data2 = relay, data3 = status) + + def __FinalFormat(self,data1,data2,data3): + + header = "Device\tFile\tRelay\tStatus\n" + body = "" for i in range(64): - if len(relay_up == 1): - comp_up.append('x') + if i<9: + device = "CM0" + str(i+1) else: - if cmp(relay_up[i], cm_up[i]) == 0: - comp_up.append('0') - else: - comp_up.append('1') - - for i in range(len(relay_dw)): - comp_dw.append('x') - if cmp(relay_dw[i], cm_dw[i]) == 0: - comp_dw.append('0') - else: - comp_dw.append('1') + device = "CM" + str(i+1) - print comp_up - print comp_dw - - + line = device + '\t' + data1[i] + '\t' + data2[i] + '\t' + data3[i] + '\n' + body = body + line + + report = header + body + + return report + def __ThreeComparation(self, in_lst): pass @@ -508,6 +574,7 @@ self.__writeFile(filename, ' ' + str(i + 1) + '\t\t' + tmp[2]) tmp = self.phase[i].split('\n',3) self.__writeFile(filename, '\t\t' + tmp[2] + '\n') + if __name__ == '__main__':