X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fdependency_walker.py;h=8b15a8520641229481e5377e4b8b407cb4ab7696;hb=6773d5d2b3489fd12e30500dbe4e4f7388430023;hp=ca1959e03d46078d137c40da337c249d03fce335;hpb=5a2089e68f099f10adba522f926ae61c58a9b601;p=plstackapi.git diff --git a/planetstack/dependency_walker.py b/planetstack/dependency_walker.py old mode 100755 new mode 100644 index ca1959e..8b15a85 --- a/planetstack/dependency_walker.py +++ b/planetstack/dependency_walker.py @@ -12,6 +12,9 @@ import json import pdb from core.models import * +from util.logger import Logger, logging +logger = Logger(level=logging.INFO) + missing_links={} try: @@ -55,7 +58,6 @@ def walk_inv_deps(fn, object): def __walk_deps(fn, object, deps): model = object.__class__.__name__ - for dep in deps: #print "Checking dep %s"%dep peer=None @@ -69,16 +71,20 @@ def __walk_deps(fn, object, deps): except AttributeError: if not missing_links.has_key(model+'.'+link): print "Model %s missing link for dependency %s"%(model, link) + logger.log_exc("Model %s missing link for dependency %s"%(model, link)) missing_links[model+'.'+link]=True if (peer): try: peer_objects = peer.all() - except: + except AttributeError: peer_objects = [peer] + except: + peer_objects = [] for o in peer_objects: fn(o, object) + # Uncomment the following line to enable recursion # walk_inv_deps(fn, o) def p(x):