Created
July 12, 2012 19:01
-
-
Save danielrobbins/3100158 to your computer and use it in GitHub Desktop.
Revisions
-
danielrobbins created this gist
Jul 12, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,45 @@ packs = None if hasattr(dmd, 'ZenPackManager'): packs = dmd.ZenPackManager.packs else: packs = dmd.packs phase2 = False for pack in packs(): try: unused = pack.primaryAq() print "%s is fine." % pack.id except AttributeError: print "Problem with %s ZenPack. Forcing removal." % pack.id try: packs._remove(pack) print "Removed %s ZenPack." % pack.id except AttributeError: print "Unable to remove this ZenPack." phase2 = True # There were some packs we could not remove using the _remove method. Fall back to # a deeper removal approach using pack ID. if phase2: print print "Starting Phase 2 removal" print all_pack_ids = [] for pack_id in dmd.ZenPackManager.packs._objects: all_pack_ids.append(pack_id) valid_pack_ids = [] for pack in dmd.ZenPackManager.packs(): try: valid_packs.append(pack.id) except: pass # iterate over all packs, if missing from valid packs, remove: for pack_id in all_pack_ids: if pack_id not in valid_pack_ids: print "Forced removal of %s" % pack_id del packs._objects[pack_id] commit()