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/UserString.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Lib/UserString.py') diff --git a/Lib/UserString.py b/Lib/UserString.py index 070b3e1fd1..34f3216cfe 100755 --- a/Lib/UserString.py +++ b/Lib/UserString.py @@ -50,9 +50,20 @@ class UserString: return self.__class__(other + self.data) else: return self.__class__(str(other) + self.data) + def __iadd__(self, other): + if isinstance(other, UserString): + self.data += other.data + elif isinstance(other, StringType) or isinstance(other, UnicodeType): + self.data += other + else + self.data += str(other) + return self def __mul__(self, n): return self.__class__(self.data*n) __rmul__ = __mul__ + def __imull__(self, n): + self.data += n + return self # the following methods are defined in alphabetical order: def capitalize(self): return self.__class__(self.data.capitalize()) -- cgit v1.2.1