Extend rather than replace existing key lists.
(self, *args, **kwargs)
| 198 | return copy.copy(self) |
| 199 | |
| 200 | def update(self, *args, **kwargs): |
| 201 | """Extend rather than replace existing key lists.""" |
| 202 | if len(args) > 1: |
| 203 | raise TypeError("update expected at most 1 argument, got %d" % len(args)) |
| 204 | if args: |
| 205 | arg = args[0] |
| 206 | if isinstance(arg, MultiValueDict): |
| 207 | for key, value_list in arg.lists(): |
| 208 | self.setlistdefault(key).extend(value_list) |
| 209 | else: |
| 210 | if isinstance(arg, Mapping): |
| 211 | arg = arg.items() |
| 212 | for key, value in arg: |
| 213 | self.setlistdefault(key).append(value) |
| 214 | for key, value in kwargs.items(): |
| 215 | self.setlistdefault(key).append(value) |
| 216 | |
| 217 | def dict(self): |
| 218 | """Return current object as a dict with singular values.""" |