equal
deleted
inserted
replaced
315 for rschema in schema.relations(): |
315 for rschema in schema.relations(): |
316 if rschema.final or rschema in PURE_VIRTUAL_RTYPES or rschema in ('is', 'is_instance_of'): |
316 if rschema.final or rschema in PURE_VIRTUAL_RTYPES or rschema in ('is', 'is_instance_of'): |
317 continue |
317 continue |
318 smandatory = set() |
318 smandatory = set() |
319 omandatory = set() |
319 omandatory = set() |
320 for rdef in rschema.rdefs.values(): |
320 for rdef in rschema.rdefs.itervalues(): |
321 if rdef.cardinality[0] in '1+': |
321 if rdef.cardinality[0] in '1+': |
322 smandatory.add(rdef.subject) |
322 smandatory.add(rdef.subject) |
323 if rdef.cardinality[1] in '1+': |
323 if rdef.cardinality[1] in '1+': |
324 omandatory.add(rdef.object) |
324 omandatory.add(rdef.object) |
325 for role, etypes in (('subject', smandatory), ('object', omandatory)): |
325 for role, etypes in (('subject', smandatory), ('object', omandatory)): |
343 print 'Checking mandatory attributes' |
343 print 'Checking mandatory attributes' |
344 msg = '%s #%s is missing mandatory attribute %s (autofix will delete the entity)' |
344 msg = '%s #%s is missing mandatory attribute %s (autofix will delete the entity)' |
345 for rschema in schema.relations(): |
345 for rschema in schema.relations(): |
346 if not rschema.final or rschema in VIRTUAL_RTYPES: |
346 if not rschema.final or rschema in VIRTUAL_RTYPES: |
347 continue |
347 continue |
348 for rdef in rschema.rdefs.values(): |
348 for rdef in rschema.rdefs.itervalues(): |
349 if rdef.cardinality[0] in '1+': |
349 if rdef.cardinality[0] in '1+': |
350 rql = 'Any X WHERE X %s NULL, X is %s, X cw_source S, S name "system"' % ( |
350 rql = 'Any X WHERE X %s NULL, X is %s, X cw_source S, S name "system"' % ( |
351 rschema, rdef.subject) |
351 rschema, rdef.subject) |
352 for entity in session.execute(rql).entities(): |
352 for entity in session.execute(rql).entities(): |
353 sys.stderr.write(msg % (entity.__regid__, entity.eid, rschema)) |
353 sys.stderr.write(msg % (entity.__regid__, entity.eid, rschema)) |