# HG changeset patch # User Augie Fackler # Date 2018-02-15 04:23:57 # Node ID e37be270e1632bb651cf0bb69c17a6e362a8435a # Parent c2c5f9f6fa215d2b501e71b74602e0e7aa3ca1a8 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 diff --git a/hgext/remotenames.py b/hgext/remotenames.py --- a/hgext/remotenames.py +++ b/hgext/remotenames.py @@ -22,7 +22,7 @@ remotenames.branches from __future__ import absolute_import -import UserDict +import collections from mercurial.i18n import _ @@ -57,7 +57,7 @@ configitem('remotenames', 'branches', default=True, ) -class lazyremotenamedict(UserDict.DictMixin): +class lazyremotenamedict(collections.MutableMapping): """ Read-only dict-like Class to lazily resolve remotename entries @@ -110,6 +110,18 @@ class lazyremotenamedict(UserDict.DictMi 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]