Exemple #1
0
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)
Exemple #4
0
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"
Exemple #6
0
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"
Exemple #7
0
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
Exemple #11
0
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]