Difference between revisions of "Talk:QuickBooks support phone number,(1-800-919-0992) QuickBooks technical support phone number, QuickBooks customer support phone number,"

From Zenoss Wiki
Jump to: navigation, search
(Created page with "As the zenoss user on the ZenMaster, zendmd. Copy and paste in the following definition: <syntaxhighlight lang="python"> ## Copyright 2015 GoVanguard Inc. Written by Shane Wi...")
 
Line 44: Line 44:
  
 
Execute the method supplying the object dictionary exhibiting duplication. Pass doItForReal to 'True' for actions to be committed. Actions are not committed by default.
 
Execute the method supplying the object dictionary exhibiting duplication. Pass doItForReal to 'True' for actions to be committed. Actions are not committed by default.
 +
 +
Examples:
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 
exciseObjectTumor(typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = True)
 
exciseObjectTumor(typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = True)

Revision as of 03:19, 31 October 2015

As the zenoss user on the ZenMaster, zendmd.

Copy and paste in the following definition:

## Copyright 2015 GoVanguard Inc. Written by Shane William Scott. http://gvit.com
def exciseObjectTumor(deviceOrganizerToSearch = '/zport/dmd/Devices', typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = False):
    sync()
    problemsFound = 0
    if deviceOrganizerToSearch != None and typeToFix.has_key('id'):
        print "Getting organizer..."
        organizerOb = dmd.Devices.getOrganizer(deviceOrganizerToSearch)
        if organizerOb:
            print "Collecting device list..."
            devicesToSearch = organizerOb.getSubDevices()
    if len(devicesToSearch) > 0:
        print 'Searching %s devices in %s for duplicates of %s in _objects...' % (str(len(devicesToSearch)), deviceOrganizerToSearch, str(typeToFix['id']))
        for d in devicesToSearch:
            obs = []
            oldObs = d._objects
            newObs = None
            obsCount = 0
            for ob in oldObs:
                if ob['id'] == typeToFix['id']:
                    obsCount = obsCount + 1
                    continue
                obs.append(ob)
            obs.append(typeToFix)
            if obsCount > 1:
                problemsFound = problemsFound + 1
                print "Device %s has too many %s obs in _objects. Fixing." % (d.titleOrId(), typeToFix['id'])
                newObs = tuple(obs)
                d._objects = newObs
                if doItForReal == True:
                    commit()
    else:
        print "No devices scanned."
    if problemsFound > 0:
        print "Found and cut out a total of %s %s object duplicates." % (str(problemsFound), typeToFix['id'])
        if doItForReal == False:
            print "...but doItForReal was set to False so the changes are not commited"
    else:
        print "Congrats! Your ass is clean! Nothing showed up during the scan for duplicated %s objects." % (typeToFix['id'])

Execute the method supplying the object dictionary exhibiting duplication. Pass doItForReal to 'True' for actions to be committed. Actions are not committed by default.

Examples:

exciseObjectTumor(typeToFix = {'meta_type': 'Software', 'id': 'os'}, doItForReal = True)
exciseObjectTumor(typeToFix = {'meta_type': 'DeviceHW', 'id': 'hw'}, doItForReal = True)
exciseObjectTumor(typeToFix = {'meta_type': 'ZCatalog', 'id': 'componentSearch'}, doItForReal = True)