equal
deleted
inserted
replaced
227 if attr not in eschema.objrels: |
227 if attr not in eschema.objrels: |
228 raise KeyError('{0} not in {1} object relations'.format(attr, eschema)) |
228 raise KeyError('{0} not in {1} object relations'.format(attr, eschema)) |
229 parts.append('{var} {attr} X, {var} eid %(reverse_{attr})s'.format( |
229 parts.append('{var} {attr} X, {var} eid %(reverse_{attr})s'.format( |
230 var=next(varmaker), attr=attr)) |
230 var=next(varmaker), attr=attr)) |
231 else: |
231 else: |
232 if attr not in eschema.subjrels: |
232 rel = eschema.subjrels.get(attr) |
|
233 if rel is None: |
233 raise KeyError('{0} not in {1} subject relations'.format(attr, eschema)) |
234 raise KeyError('{0} not in {1} subject relations'.format(attr, eschema)) |
234 parts.append('X {attr} %({attr})s'.format(attr=attr)) |
235 if rel.final: |
|
236 parts.append('X {attr} %({attr})s'.format(attr=attr)) |
|
237 else: |
|
238 parts.append('X {attr} {var}, {var} eid %({attr})s'.format( |
|
239 attr=attr, var=next(varmaker))) |
235 |
240 |
236 rql = ', '.join(parts) |
241 rql = ', '.join(parts) |
237 |
242 |
238 return self.execute(rql, kwargs) |
243 return self.execute(rql, kwargs) |
239 |
244 |