Mercurial > libervia-web
comparison src/browser/collections.py @ 674:690a8a80a0ad frontends_multi_profiles
browser_side: added __len__ method in OrderedDict
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 17 Mar 2015 20:26:31 +0100 |
parents | 2664fe93ceb3 |
children | 44df078187b9 |
comparison
equal
deleted
inserted
replaced
673:e489218886d7 | 674:690a8a80a0ad |
---|---|
29 if isinstance(args[0], (dict, OrderedDict)): | 29 if isinstance(args[0], (dict, OrderedDict)): |
30 for key, value in args[0].iteritems(): | 30 for key, value in args[0].iteritems(): |
31 self[key] = value | 31 self[key] = value |
32 for key, value in args[0]: | 32 for key, value in args[0]: |
33 self[key] = value | 33 self[key] = value |
34 | |
35 def __len__(self): | |
36 return len(self.__keys) | |
34 | 37 |
35 def __setitem__(self, key, value): | 38 def __setitem__(self, key, value): |
36 self.__keys.append(key) | 39 self.__keys.append(key) |
37 self.__internal_dict[key] = value | 40 self.__internal_dict[key] = value |
38 | 41 |
106 | 109 |
107 def setdefault(self, key, default=None): | 110 def setdefault(self, key, default=None): |
108 try: | 111 try: |
109 return self.__internal_dict[key] | 112 return self.__internal_dict[key] |
110 except KeyError: | 113 except KeyError: |
111 self.__internal_dict[key] = default | 114 self[key] = default |
112 return default | 115 return default |
113 | 116 |
114 def update(self, *args, **kwargs): | 117 def update(self, *args, **kwargs): |
115 if len(args) > 1: | 118 if len(args) > 1: |
116 raise TypeError('udpate expected at most 1 argument, got {}'.format(len(args))) | 119 raise TypeError('udpate expected at most 1 argument, got {}'.format(len(args))) |