Mercurial > public > mercurial-scm > hg
comparison mercurial/util.py @ 24236:de14c3972c2f
sortdict: have update() accept either dict or iterable of key/value pairs
Future patches will make the templater store a sorted dict in the _hybrid object.
sortdict should be constructed from a sorted list.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 18 Feb 2015 22:53:53 +0900 |
parents | 5a7920c4d2ea |
children | 2ddfac2f163e |
comparison
equal
deleted
inserted
replaced
24235:79fceed67676 | 24236:de14c3972c2f |
---|---|
357 self._list.append(key) | 357 self._list.append(key) |
358 dict.__setitem__(self, key, val) | 358 dict.__setitem__(self, key, val) |
359 def __iter__(self): | 359 def __iter__(self): |
360 return self._list.__iter__() | 360 return self._list.__iter__() |
361 def update(self, src): | 361 def update(self, src): |
362 for k in src: | 362 if isinstance(src, dict): |
363 self[k] = src[k] | 363 src = src.iteritems() |
364 for k, v in src: | |
365 self[k] = v | |
364 def clear(self): | 366 def clear(self): |
365 dict.clear(self) | 367 dict.clear(self) |
366 self._list = [] | 368 self._list = [] |
367 def items(self): | 369 def items(self): |
368 return [(k, self[k]) for k in self._list] | 370 return [(k, self[k]) for k in self._list] |