Per discussion with Barry, make the default value for both get() and
authorFred Drake <fdrake@acm.org>
Tue, 22 May 2001 19:36:50 +0000 (19:36 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 22 May 2001 19:36:50 +0000 (19:36 +0000)
setdefault() the empty string.  In setdefault(), use + to join the value
to create the entry for the headers attribute so that TypeError is raised
if the value is of the wrong type.

Lib/rfc822.py

index 9093beb211f9776c6446e93866c13fa67127541a..14fd2a8cec069f5fca9df65cabbda2ffd2e313d5 100644 (file)
@@ -421,24 +421,23 @@ class Message:
         for i in list:
             del self.headers[i]
 
-    def get(self, name, default=None):
+    def get(self, name, default=""):
         name = name.lower()
         if self.dict.has_key(name):
             return self.dict[name]
         else:
             return default
 
-    def setdefault(self, name, default=''):
+    def setdefault(self, name, default=""):
         lowername = name.lower()
         if self.dict.has_key(lowername):
             return self.dict[lowername]
         else:
-            default = default or ""
-            self.dict[lowername] = default
-            text = "%s: %s" % (name, default)
+            text = name + ": " + default
             lines = text.split("\n")
             for line in lines:
                 self.headers.append(line + "\n")
+            self.dict[lowername] = default
             return default
 
     def has_key(self, name):