[dataimport] fix db-namespace default value handling
In a fresh new instance, the "db-namespace" option is set as empty
by default in the "sources" file.
This seems correct but empty string is not a valid pg_schema and
actually means that we should use "public"
from __future__ import print_function
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))