dbapi.py
changeset 9830 465d8151b92d
parent 9774 b7b71be569cf
child 10005 7769d0f61810
equal deleted inserted replaced
9829:e0e71b45bf8d 9830:465d8151b92d
   677 
   677 
   678 
   678 
   679     @check_not_closed
   679     @check_not_closed
   680     def entity_metas(self, eid):
   680     def entity_metas(self, eid):
   681         """return a tuple (type, sourceuri, extid) for the entity with id <eid>"""
   681         """return a tuple (type, sourceuri, extid) for the entity with id <eid>"""
   682         return self._repo.entity_metas(self.sessionid, eid, **self._txid())
   682         try:
       
   683             return self._repo.entity_metas(self.sessionid, eid, **self._txid())
       
   684         except AttributeError:
       
   685             # talking to pre 3.19 repository
       
   686             metas = self._repo.describe(self.sessionid, eid, **self._txid())
       
   687             if len(metas) == 3: # even older backward compat
       
   688                 metas = list(metas)
       
   689                 metas.append(metas[1])
       
   690             return dict(zip(('type', 'source', 'extid', 'asource'), metas))
       
   691 
   683 
   692 
   684     @deprecated('[3.19] use .entity_metas(eid) instead')
   693     @deprecated('[3.19] use .entity_metas(eid) instead')
   685     @check_not_closed
   694     @check_not_closed
   686     def describe(self, eid, asdict=False):
   695     def describe(self, eid, asdict=False):
   687         try:
   696         try: