X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fdependency_walker.py;h=8b15a8520641229481e5377e4b8b407cb4ab7696;hb=0839c08f0fa0a00898c9ce43cf640a4ab6140948;hp=ca1959e03d46078d137c40da337c249d03fce335;hpb=7d0c1d579451e9b78f9d4fdabff3f6952c4e7874;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):