Mercurial > public > mercurial-scm > hg
comparison mercurial/util.py @ 32306:2d19664e257d
util: drop unneeded override, sortdict.copy()
OrderedDict.copy() returns self.__class__(self).
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 17 May 2017 23:01:56 +0900 |
parents | bd0fd3ff9916 |
children | a9c71d578a1c |
comparison
equal
deleted
inserted
replaced
32305:911057981ba4 | 32306:2d19664e257d |
---|---|
566 return cache[args] | 566 return cache[args] |
567 | 567 |
568 return f | 568 return f |
569 | 569 |
570 class sortdict(collections.OrderedDict): | 570 class sortdict(collections.OrderedDict): |
571 '''a simple sorted dictionary''' | 571 '''a simple sorted dictionary |
572 | |
573 >>> d1 = sortdict([('a', 0), ('b', 1)]) | |
574 >>> d2 = d1.copy() | |
575 >>> d2 | |
576 sortdict([('a', 0), ('b', 1)]) | |
577 >>> d2.update([('a', 2)]) | |
578 >>> d2.keys() # should still be in last-set order | |
579 ['b', 'a'] | |
580 ''' | |
581 | |
572 def __setitem__(self, key, value): | 582 def __setitem__(self, key, value): |
573 if key in self: | 583 if key in self: |
574 del self[key] | 584 del self[key] |
575 super(sortdict, self).__setitem__(key, value) | 585 super(sortdict, self).__setitem__(key, value) |
576 def copy(self): | |
577 return sortdict(self) | |
578 | 586 |
579 class _lrucachenode(object): | 587 class _lrucachenode(object): |
580 """A node in a doubly linked list. | 588 """A node in a doubly linked list. |
581 | 589 |
582 Holds a reference to nodes on either side as well as a key-value | 590 Holds a reference to nodes on either side as well as a key-value |