Mercurial > hg-stable
diff hgext/remotenames.py @ 36285:e37be270e163
remotenames: port partway to python3 by using collections.MutableMapping
test-logexchange.t doesn't pass after this, but at least the
remotenames extension can be imported.
Differential Revision: https://phab.mercurial-scm.org/D2280
author | Augie Fackler <augie@google.com> |
---|---|
date | Wed, 14 Feb 2018 23:23:57 -0500 |
parents | 828f44cdfee3 |
children | 18e29c65bc5c |
line wrap: on
line diff
--- a/hgext/remotenames.py Fri Feb 16 11:33:56 2018 -0800 +++ b/hgext/remotenames.py Wed Feb 14 23:23:57 2018 -0500 @@ -22,7 +22,7 @@ from __future__ import absolute_import -import UserDict +import collections from mercurial.i18n import _ @@ -57,7 +57,7 @@ default=True, ) -class lazyremotenamedict(UserDict.DictMixin): +class lazyremotenamedict(collections.MutableMapping): """ Read-only dict-like Class to lazily resolve remotename entries @@ -110,6 +110,18 @@ else: raise KeyError() + def __iter__(self): + return iter(self.potentialentries) + + def __len__(self): + return len(self.potentialentries) + + def __setitem__(self): + raise NotImplementedError + + def __delitem__(self): + raise NotImplementedError + def _fetchandcache(self, key): if key in self.cache: return self.cache[key]