From 104a7bcc28f96c6192815e82971d660c9910c16b Mon Sep 17 00:00:00 2001 From: Thomas Wouters Date: Thu, 24 Aug 2000 20:14:10 +0000 Subject: Support for augmented assignment in the UserList, UserDict, UserString and rfc822 (Addresslist) modules. Also a preliminary testcase for augmented assignment, which should actually be merged with the test_class testcase I added last week. --- Lib/rfc822.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Lib/rfc822.py') diff --git a/Lib/rfc822.py b/Lib/rfc822.py index 64731494d9..42aac1c403 100644 --- a/Lib/rfc822.py +++ b/Lib/rfc822.py @@ -763,6 +763,13 @@ class AddressList(AddrlistClass): newaddr.addresslist.append(x) return newaddr + def __iadd__(self, other): + # Set union, in-place + for x in other.addresslist: + if not x in self.addresslist: + self.addresslist.append(x) + return self + def __sub__(self, other): # Set difference newaddr = AddressList(None) @@ -771,6 +778,13 @@ class AddressList(AddrlistClass): newaddr.addresslist.append(x) return newaddr + def __isub__(self, other): + # Set difference, in-place + for x in other.addresslist: + if x in self.addresslist: + self.addresslist.remove(x) + return self + def __getitem__(self, index): # Make indexing, slices, and 'in' work return self.addresslist[index] -- cgit v1.2.1