diff -r bb956f43e8d4 -r 1013c31bfbee devtools/devctl.py --- a/devtools/devctl.py Fri Aug 05 10:29:19 2011 +0200 +++ b/devtools/devctl.py Fri Aug 05 12:20:44 2011 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr # # This file is part of CubicWeb. @@ -155,6 +155,9 @@ add_msg(w, cstrtype) done = set() for eschema in sorted(schema.entities()): + if eschema.type in libschema: + done.add(eschema.description) + for eschema in sorted(schema.entities()): etype = eschema.type if etype not in libschema: add_msg(w, etype) @@ -203,15 +206,19 @@ w('# (no object form for final or symmetric relation types)\n') w('\n') for rschema in sorted(schema.relations()): + if rschema.type in libschema: + done.add(rschema.type) + done.add(rschema.description) + for rschema in sorted(schema.relations()): rtype = rschema.type if rtype not in libschema: # bw compat, necessary until all translation of relation are done # properly... add_msg(w, rtype) + done.add(rtype) if rschema.description and rschema.description not in done: - done.add(rschema.description) add_msg(w, rschema.description) - done.add(rtype) + done.add(rschema.description) librschema = None else: librschema = libschema.rschema(rtype) @@ -221,7 +228,7 @@ for subjschema in rschema.subjects(): if not subjschema in libsubjects: add_msg(w, rtype, subjschema.type) - if not (schema.rschema(rtype).final or rschema.symmetric): + if not (rschema.final or rschema.symmetric): if rschema not in NO_I18NCONTEXT: libobjects = librschema and librschema.objects() or () for objschema in rschema.objects(): @@ -231,6 +238,14 @@ # bw compat, necessary until all translation of relation are # done properly... add_msg(w, '%s_object' % rtype) + for rdef in rschema.rdefs.itervalues(): + if not rdef.description or rdef.description in done: + continue + if (librschema is None or + (rdef.subject, rdef.object) not in librschema.rdefs or + librschema.rdefs[(rdef.subject, rdef.object)].description != rdef.description): + add_msg(w, rdef.description) + done.add(rdef.description) for objid in _iter_vreg_objids(vreg, vregdone): add_msg(w, '%s_description' % objid) add_msg(w, objid)