equal
deleted
inserted
replaced
325 self._storages[etype].pop(attr) |
325 self._storages[etype].pop(attr) |
326 # if etype has no storage left, remove the entry |
326 # if etype has no storage left, remove the entry |
327 if not self._storages[etype]: |
327 if not self._storages[etype]: |
328 del self._storages[etype] |
328 del self._storages[etype] |
329 self.unmap_attribute(etype, attr) |
329 self.unmap_attribute(etype, attr) |
|
330 |
|
331 def storage(self, etype, attr): |
|
332 """return the storage for the given entity type / attribute |
|
333 """ |
|
334 try: |
|
335 return self._storages[etype][attr] |
|
336 except KeyError: |
|
337 raise Exception('no custom storage set for %s.%s' % (etype, attr)) |
330 |
338 |
331 # ISource interface ####################################################### |
339 # ISource interface ####################################################### |
332 |
340 |
333 def compile_rql(self, rql, sols): |
341 def compile_rql(self, rql, sols): |
334 rqlst = self.repo.vreg.rqlhelper.parse(rql) |
342 rqlst = self.repo.vreg.rqlhelper.parse(rql) |