# HG changeset patch # User Julien Cristau # Date 1404228325 -7200 # Node ID 465d8151b92d722bb54120059f9921eaf54aa4a5 # Parent e0e71b45bf8d758b636920e93648f38409e8ddaf [dbapi] allow talking to a pre-3.19 remote repository Closes #4071285 diff -r e0e71b45bf8d -r 465d8151b92d dbapi.py --- a/dbapi.py Tue Jun 17 11:56:38 2014 +0200 +++ b/dbapi.py Tue Jul 01 17:25:25 2014 +0200 @@ -679,7 +679,16 @@ @check_not_closed def entity_metas(self, eid): """return a tuple (type, sourceuri, extid) for the entity with id """ - return self._repo.entity_metas(self.sessionid, eid, **self._txid()) + try: + return self._repo.entity_metas(self.sessionid, eid, **self._txid()) + except AttributeError: + # talking to pre 3.19 repository + metas = self._repo.describe(self.sessionid, eid, **self._txid()) + if len(metas) == 3: # even older backward compat + metas = list(metas) + metas.append(metas[1]) + return dict(zip(('type', 'source', 'extid', 'asource'), metas)) + @deprecated('[3.19] use .entity_metas(eid) instead') @check_not_closed