Lines Matching full:chain
41 def insert_dep_chain(chain, rdeps, alldeps): argument
43 insert elements to chain from rdeps, according to alldeps
45 # chain should at least contain one element
46 if len(chain) == 0:
51 if rdep in chain:
54 for i in range(0, len(chain)-1):
55 if chain[i] in alldeps[rdep] and rdep in alldeps[chain[i+1]]:
56 chain.insert(i+1, rdep)
59 if chain[-1] in alldeps[rdep] and rdep not in chain:
60 chain.append(rdep)
67 chain = []
70 chain.append(key)
72 # insert chain from rlist
73 inserted_elements = Dot.insert_dep_chain(chain, rlist, alldeps)
75 if chain[-1] in rlist:
76 rlist.remove(chain[-1])
77 removed_rdeps.append(chain[-1])
78 chain.pop()
81 # insert chain from removed_rdeps
82 Dot.insert_dep_chain(chain, removed_rdeps, alldeps)
83 print(' -> '.join(list(reversed(chain))))