diff -r 30de0be8f895 -r a176e68b7d0d misc/scripts/detect_cycle.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/misc/scripts/detect_cycle.py Mon Sep 13 15:15:21 2010 +0200 @@ -0,0 +1,15 @@ + +try: + rtype, = __args__ +except ValueError: + print 'USAGE: cubicweb-ctl shell detect_cycle.py -- ' + print + +graph = {} +for fromeid, toeid in rql('Any X,Y WHERE X %s Y' % rtype): + graph.setdefault(fromeid, []).append(toeid) + +from logilab.common.graph import get_cycles + +for cycle in get_cycles(graph): + print 'cycle', '->'.join(str(n) for n in cycle)