413 self.rqlexec('SET X specializes Y WHERE X is CWEType, X name %(x)s, ' |
413 self.rqlexec('SET X specializes Y WHERE X is CWEType, X name %(x)s, ' |
414 'Y is CWEType, Y name %(y)s', |
414 'Y is CWEType, Y name %(y)s', |
415 {'x': str(repoeschema), 'y': str(espschema)}) |
415 {'x': str(repoeschema), 'y': str(espschema)}) |
416 self.rqlexecall(ss.updateeschema2rql(eschema), |
416 self.rqlexecall(ss.updateeschema2rql(eschema), |
417 ask_confirm=self.verbosity >= 2) |
417 ask_confirm=self.verbosity >= 2) |
418 for rschema, targettypes, x in eschema.relation_definitions(True): |
418 for rschema, targettypes, role in eschema.relation_definitions(True): |
419 if x == 'subject': |
419 if role == 'subject': |
420 if not rschema in repoeschema.subject_relations(): |
420 if not rschema in repoeschema.subject_relations(): |
421 continue |
421 continue |
422 subjtypes, objtypes = [etype], targettypes |
422 subjtypes, objtypes = [etype], targettypes |
423 else: # x == 'object' |
423 else: # role == 'object' |
424 if not rschema in repoeschema.object_relations(): |
424 if not rschema in repoeschema.object_relations(): |
425 continue |
425 continue |
426 subjtypes, objtypes = targettypes, [etype] |
426 subjtypes, objtypes = targettypes, [etype] |
427 self._synchronize_rschema(rschema, syncperms=syncperms, |
427 self._synchronize_rschema(rschema, syncperms=syncperms, |
428 syncrdefs=False) |
428 syncrdefs=False) |