ATLAS Offline Software
Loading...
Searching...
No Matches
python.virtual_mixin Namespace Reference

Classes

class  DefectsDBVirtualDefectsMixin

Functions

 _resolve_dependencies (node, resolved=None, unresolved=None)

Variables

 log
tuple NONHEAD_MODIFICATION_MSG

Function Documentation

◆ _resolve_dependencies()

python.virtual_mixin._resolve_dependencies ( node,
resolved = None,
unresolved = None )
protected
Navigate the node to determine dependencies. Circular references raise an 
exception.

Shamelessly stolen algorithm from:
http://www.electricmonk.nl/log/2008/08/07/dependency-resolving-algorithm/

Definition at line 16 of file virtual_mixin.py.

16def _resolve_dependencies(node, resolved=None, unresolved=None):
17 """
18 Navigate the node to determine dependencies. Circular references raise an
19 exception.
20
21 Shamelessly stolen algorithm from:
22 http://www.electricmonk.nl/log/2008/08/07/dependency-resolving-algorithm/
23 """
24 if resolved is None: resolved = []
25 if unresolved is None: unresolved = []
26 unresolved.append(node)
27 for dependency in node.dependencies:
28 if dependency not in resolved:
29 if dependency in unresolved:
30 raise Exception('Circular reference detected: %s -> %s'
31 % (node.name, dependency.name))
32 _resolve_dependencies(dependency, resolved, unresolved)
33
34 resolved.append(node)
35 unresolved.remove(node)
36 return resolved
37
38

Variable Documentation

◆ log

python.virtual_mixin.log

Definition at line 3 of file virtual_mixin.py.

◆ NONHEAD_MODIFICATION_MSG

tuple python.virtual_mixin.NONHEAD_MODIFICATION_MSG
Initial value:
1= ("Operations which modify virtual defects can only "
2 "be done on the HEAD tag.")

Definition at line 13 of file virtual_mixin.py.