def generateAssetTree(): settings.assets={} count=0 total=len(settings.al) #print 'Crawling asset listing, please wait...' for k, v in settings.al.iteritems(): parent=v['Parent'] if parent =="": parent =None if parent!=None: if k in settings.assets: if parent not in settings.assets: settings.assets[parent]=al_asset_node.Asset(parent) #print "Parent created."+settings.assets[parent].asset_id settings.assets[k].setParent(settings.assets[parent]) else: if parent not in settings.assets: settings.assets[parent]=al_asset_node.Asset(parent) #print "Parent created."+settings.assets[parent].asset_id settings.assets[k]=al_asset_node.Asset(k,settings.assets[parent]) else: if k in settings.assets: settings.assets[k].setParent(None) else: settings.assets[k]=al_asset_node.Asset(k,None) count+=1 if(count%1000==0 or count/total>0.98): pp.printProgress(count,total, prefix='Crawling Assets:', suffix='Complete', barLength=10)
def initialize_alarms(): total=len(settings.alarm) stabalizer=int(total/30) count=0 for k,v in settings.alarm.iteritems(): v.initialize() count+=1 if(count%stabalizer==0 or count/total>0.98): pp.printProgress(count,total, prefix='Initializing alarms:', suffix='Complete', barLength=10)
def generateEqmTree(): settings.list_node = [] count = 0 total = len(settings.assetlisting_equipmenttype) #print 'Crawling asset listing, please wait...' for ix, eqm in enumerate(settings.assetlisting_equipmenttype): #print '\nScanning line' temp = eqm.split("/") #print temp level = [] for index, item in enumerate(temp): #print 'Checking: ',temp[:index+1] item.replace(' ', '') if not item == '': if index == 0: if not exist(temp[:index + 1]): #print 'Item does not exist, creating node. Index=',index #create node if index == len(temp) - 1: holder = settings.assetlisting_description[ix] else: holder = None #print 'Holder= ',holder node = al_tree.Tree(index, item, holder) level.append(node) settings.list_node.append(node) else: #print 'Item exists, ignoring.. Index=',index level.append(nodeSearch(temp[index])) else: if not exist(temp[:index + 1]): #print 'Item does not exist, creating node. Index=',index #create node if index == len(temp) - 1: holder = settings.assetlisting_description[ix] else: holder = None #print 'Holder= ',holder node = al_tree.Tree(index, item, holder) #print level level[index - 1].add_child(node) level.append(node) settings.list_node.append(node) else: #print 'Item exists, ignoring.. Index=',index level.append(nodeSearch(temp[index])) count += 1 if (count % 1000 == 0 or count / total > 0.98): pp.printProgress(count, total, prefix='Crawling asset Listing:', suffix='Complete', barLength=10)
def identify(): total=len(settings.power) stabalizer=int(total/100) sixtyFourP_index=[] count=0 for key, value in settings.power.iteritems(): if '64P' in value['Description'] and 'Negative Voltage Detection' in value['Description']: sixtyFourP_index.append(key) count+=1 if(count%stabalizer==0 or count/total>0.98): pp.printProgress(count,total, prefix='Identifying:', suffix='Complete', barLength=10) return sixtyFourP_index
def scan(): settings.assetlisting_asset = [] settings.assetlisting_description = [] settings.assetlisting_location = [] settings.assetlisting_locationcode = [] settings.assetlisting_owner = [] settings.assetlisting_equipmenttype = [] settings.assetlisting_areacode = [] settings.assetlisting_serial = [] settings.assetlisting_parent = [] settings.assetlisting_item = [] settings.assetlisting_status = [] count = 0 total = len(settings.fname_assetlisting) for file in settings.fname_assetlisting: with open(file, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=';') if settings.scan_report == True: print "Scanning File: ", file data_line = 0 for row in reader: settings.assetlisting_asset.append(row['Asset']) settings.assetlisting_description.append(row['Description']) settings.assetlisting_location.append(row['Location']) settings.assetlisting_locationcode.append(row['Location Code']) settings.assetlisting_owner.append(row['Maintenance Owner']) settings.assetlisting_equipmenttype.append( row['Equipment Type']) settings.assetlisting_areacode.append( row['Physical Area Code']) settings.assetlisting_serial.append(row['Serial #']) settings.assetlisting_parent.append(row['Parent']) settings.assetlisting_item.append(row['Rotating Item']) settings.assetlisting_status.append(row['Status']) data_line += 1 count += 1 pp.printProgress(count, total, prefix='Scanning Asset Listing:', suffix='Complete', barLength=10) if settings.scan_report == True: print "There are ", data_line, " lines"
def scan(): count = 0 total = len(settings.fname_gocc) for file in settings.fname_gocc: with open(file, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=',') if settings.scan_report == True: print "Scanning File: ", file data_line = 0 for row in reader: try: settings.gocc[row['id']]={\ 'id':tryInt(row['id']),\ 'uniqueid':row['uniqueid'],\ 'alarm':row['alarm'],\ 'eventtype':row['eventtype'],\ 'system':row['system'],\ 'subsystem':row['subsystem'],\ 'sourcetime':convTime(row['sourcetime']),\ 'operator':row['operator'],\ 'alarmvalue':tryInt(row['alarmvalue']),\ 'value':row['value'],\ 'equipment':row['equipment'],\ 'location':row['location'],\ 'severity':tryInt(row['severity']),\ 'description':row['description'],\ 'state':tryInt(row['state']),\ 'mmsstate':tryInt(row['mmsstate']),\ 'zone':row['zone'],\ 'graphicelement':row['graphicelement'],\ } except: pass data_line += 1 count += 1 pp.printProgress(count, total, prefix='Scanning GOCC Log:', suffix='Complete', barLength=10) if settings.scan_report == True: print "There are ", data_line, " lines"
def scan(): count = 0 total = len(settings.fname_wo) for file in settings.fname_wo: with open(file, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter='$') if settings.scan_report == True: print "Scanning File: ", file data_line = 0 for row in reader: if not (row['Reported Date'] == '' or convTime(row['Reported Date'], file, data_line, "", True) == None): try: settings.wo[row['Work Order']]={\ 'Work Order':tryInt(row['Work Order']),\ 'Description':row['Description'],\ 'Asset':row['Asset'],\ 'Work Type':row['Work Type'],\ 'Work Group':row['Work Group'],\ #'Actual Start':convTime(row['Actual Start'],data_line,1),\ #'Actual Finish':convTime(row['Actual Finish'],data_line,2),\ 'Reported Date':convTime(row['Reported Date'],file,data_line,3),\ } except: #print "Fail to scan Line ",data_line print "Unexpected error:", sys.exc_info()[1] pass else: #print "skipping line: ",data_line pass data_line += 1 count += 1 pp.printProgress(count, total, prefix='Scanning WO Log:', suffix='Complete', barLength=10) if settings.scan_report == True: print "There are ", data_line, " lines"
def create(alarm_index): total=len(alarm_index) stabalizer=int(total/150) count=0 for index in alarm_index: tracker=locAlarm(index) if tracker != False: tracker.add_child(index) else: alarm_id=settings.gocc[index]['alarm'] system=settings.gocc[index]['system'] subsystem=settings.gocc[index]['subsystem'] node=gocc_alarm_node.Alarm(alarm_id,index, settings.gocc[index]['equipment'], system, subsystem, settings.gocc[index]['severity'], settings.gocc[index]['description']) settings.alarm[alarm_id]=node count+=1 if(count%stabalizer==0 or count/total>0.98): pp.printProgress(count,total, prefix='Sorting alarms:', suffix='Complete', barLength=10)
def create_rsstatus(readiness_index): total=len(readiness_index) stabalizer=int(total/30) count=0 for index in readiness_index: tracker=locRSState(index) if tracker != False: tracker.add_child(index) else: date=settings.gocc[index]['sourcetime'].date() loc=settings.gocc[index]['location'] status_id=loc node=gocc_rsstatus_node.RSStatus(status_id,index,loc) settings.rsstatus[status_id]=node count+=1 if(count%stabalizer==0 or count/total>0.98): pp.printProgress(count,total, prefix='Sorting RSState:', suffix='Complete', barLength=10)
def identify(): total=len(settings.gocc) stabalizer=int(total/100) alarm_index=[] readiness_index=[] schedule_index=[] skip_index=[] count=0 for key, value in settings.gocc.iteritems(): if 'ALARM' in value['eventtype']: alarm_index.append(key) if 'DIAG_IRdyStTranSucc[1]' in value['eventtype']: readiness_index.append(key) if (('ALARM_OPENED' in value['eventtype'] or 'ALARM_NORMALIZED' in value['eventtype']) and value['description']=='Door Interlock Loop' or ('DIAG_ITailLight[1..2]'in value['eventtype'] and value['description']=='Tail Lights') or 'DIAG_IRdyStTranSucc[1]' in value['eventtype']): schedule_index.append(key) if 'DIAG_ISkipStOdrRecAto' in value['eventtype']: skip_index.append(key) count+=1 if(count%stabalizer==0 or count/total>0.98): pp.printProgress(count,total, prefix='Identifying:', suffix='Complete', barLength=10) return alarm_index, readiness_index,schedule_index, skip_index
def scan(): count = 0 total = len(settings.fname_assetlisting) for file in settings.fname_assetlisting: with open(file, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=';') if settings.scan_report == True: print "Scanning File: ", file data_line = 0 for row in reader: try: settings.al[row['Asset']]={\ 'Description':row['Description'],\ 'Location':row['Location'],\ 'Location Code':row['Location Code'],\ 'Maintenance Owner':row['Maintenance Owner'],\ 'Equipment Type':(row['Equipment Type']),\ 'Physical Area Code':(row['Physical Area Code']),\ 'Serial #':row['Serial #'],\ 'Parent':row['Parent'],\ 'Rotating Item':row['Rotating Item'],\ 'Status':row['Status'],\ } except: #print "Fail to scan Line ",data_line print "Unexpected error:", sys.exc_info()[1] pass data_line += 1 count += 1 pp.printProgress(count, total, prefix='Scanning Asset Listing:', suffix='Complete', barLength=10) if settings.scan_report == True: print "There are ", data_line, " lines"
def scan(): count = 0 total = len(settings.fname_power) for file in settings.fname_power: with open(file, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=',') if settings.scan_report == True: print "Scanning File: ", file data_line = 0 for row in reader: try: settings.power[data_line]={\ 'id':data_line,\ 'Time':convTime(row['Date'],row['Time']),\ 'Phy Add':row['Phy Add'],\ 'Sys/Sub':row['Sys/Sub'],\ 'SubSys':row['SubSys'],\ 'Description':row['Description'],\ 'Status':row['Status'],\ 'RC':row['RC'],\ 'User':row['User'], } except Exception as e: print str(e) data_line += 1 count += 1 pp.printProgress(count, total, prefix='Scanning GOCC Log:', suffix='Complete', barLength=10) if settings.scan_report == True: print "There are ", data_line, " lines" print settings.power[35]