From patchwork Sun Mar 8 11:56:03 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1, of, 6] sortdict: have update() accept either dict or iterable of key/value pairs From: Yuya Nishihara X-Patchwork-Id: 7932 Message-Id: <023d0f46318665e8d01f.1425815763@mimosa> To: mercurial-devel@selenic.com Date: Sun, 08 Mar 2015 20:56:03 +0900 # HG changeset patch # User Yuya Nishihara # Date 1424267633 -32400 # Wed Feb 18 22:53:53 2015 +0900 # Node ID 023d0f46318665e8d01fe42fb58ac1726532b4c0 # Parent 62c4a963489d0ff8887b1e5d2c9458d1e3384536 sortdict: have update() accept either dict or iterable of key/value pairs Future patches will make templater stores sorted dict in _hybrid object. sortdict should be constructed from sorted list. diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -359,8 +359,10 @@ class sortdict(dict): def __iter__(self): return self._list.__iter__() def update(self, src): - for k in src: - self[k] = src[k] + if isinstance(src, dict): + src = src.iteritems() + for k, v in src: + self[k] = v def clear(self): dict.clear(self) self._list = []