[multi-sources-removal] Turn ConnectionsSet into simpler ConnectionWrapper
also, SqliteConnectionWrapper becomes a subclass. This is allowed since
now ConnectionsSet responsability has been reduced to handling the system
source only.
This changeset also:
* drops useless cnxset_set / check_connection api
* deprecates former .source / .connection / container api
but it renames neither the session's cnxset attribute, nor the related
repository method.
Related to #2919300
try:
rtype, = __args__
except ValueError:
print 'USAGE: cubicweb-ctl shell <instance> detect_cycle.py -- <relation type>'
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)