]> granicus.if.org Git - python/commitdiff
A code cleansing pass
authorBarry Warsaw <barry@python.org>
Mon, 30 Dec 2002 16:43:42 +0000 (16:43 +0000)
committerBarry Warsaw <barry@python.org>
Mon, 30 Dec 2002 16:43:42 +0000 (16:43 +0000)
Lib/email/_parseaddr.py

index 5a0f5b625b00c573854e455dc912781fa94f8304..a65cd6b851982a20e53d3e452e6d702e7226b482 100644 (file)
@@ -6,6 +6,17 @@ Lifted directly from rfc822.py.  This should eventually be rewritten.
 """
 
 import time
+from types import TupleType
+
+try:
+    True, False
+except NameError:
+    True = 1
+    False = 0
+
+SPACE = ' '
+EMPTYSTRING = ''
+COMMASPACE = ', '
 
 # Parse a date field
 _monthnames = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul',
@@ -55,12 +66,13 @@ def parsedate_tz(data):
     data = data[:5]
     [dd, mm, yy, tm, tz] = data
     mm = mm.lower()
-    if not mm in _monthnames:
+    if mm not in _monthnames:
         dd, mm = mm, dd.lower()
-        if not mm in _monthnames:
+        if mm not in _monthnames:
             return None
-    mm = _monthnames.index(mm)+1
-    if mm > 12: mm = mm - 12
+    mm = _monthnames.index(mm) + 1
+    if mm > 12:
+        mm -= 12
     if dd[-1] == ',':
         dd = dd[:-1]
     i = yy.find(':')
@@ -112,9 +124,10 @@ def parsedate_tz(data):
 def parsedate(data):
     """Convert a time string to a time tuple."""
     t = parsedate_tz(data)
-    if type(t) == type( () ):
+    if isinstance(t, TupleType):
         return t[:9]
-    else: return t
+    else:
+        return t
 
 
 def mktime_tz(data):
@@ -164,10 +177,11 @@ class AddrlistClass:
         """Parse up to the start of the next address."""
         while self.pos < len(self.field):
             if self.field[self.pos] in self.LWS + '\n\r':
-                self.pos = self.pos + 1
+                self.pos += 1
             elif self.field[self.pos] == '(':
                 self.commentlist.append(self.getcomment())
-            else: break
+            else:
+                break
 
     def getaddrlist(self):
         """Parse all addresses.
@@ -175,7 +189,7 @@ class AddrlistClass:
         Returns a list containing all of the addresses.
         """
         result = []
-        while 1:
+        while True:
             ad = self.getaddress()
             if ad:
                 result += ad
@@ -198,7 +212,7 @@ class AddrlistClass:
         if self.pos >= len(self.field):
             # Bad email address technically, no domain.
             if plist:
-                returnlist = [(' '.join(self.commentlist), plist[0])]
+                returnlist = [(SPACE.join(self.commentlist), plist[0])]
 
         elif self.field[self.pos] in '.@':
             # email address is just an addrspec
@@ -206,18 +220,18 @@ class AddrlistClass:
             self.pos = oldpos
             self.commentlist = oldcl
             addrspec = self.getaddrspec()
-            returnlist = [(' '.join(self.commentlist), addrspec)]
+            returnlist = [(SPACE.join(self.commentlist), addrspec)]
 
         elif self.field[self.pos] == ':':
             # address is a group
             returnlist = []
 
             fieldlen = len(self.field)
-            self.pos = self.pos + 1
+            self.pos += 1
             while self.pos < len(self.field):
                 self.gotonext()
                 if self.pos < fieldlen and self.field[self.pos] == ';':
-                    self.pos = self.pos + 1
+                    self.pos += 1
                     break
                 returnlist = returnlist + self.getaddress()
 
@@ -226,19 +240,20 @@ class AddrlistClass:
             routeaddr = self.getrouteaddr()
 
             if self.commentlist:
-                returnlist = [(' '.join(plist) + ' (' + \
-                         ' '.join(self.commentlist) + ')', routeaddr)]
-            else: returnlist = [(' '.join(plist), routeaddr)]
+                returnlist = [(SPACE.join(plist) + ' (' +
+                               ' '.join(self.commentlist) + ')', routeaddr)]
+            else:
+                returnlist = [(SPACE.join(plist), routeaddr)]
 
         else:
             if plist:
-                returnlist = [(' '.join(self.commentlist), plist[0])]
+                returnlist = [(SPACE.join(self.commentlist), plist[0])]
             elif self.field[self.pos] in self.specials:
-                self.pos = self.pos + 1
+                self.pos += 1
 
         self.gotonext()
         if self.pos < len(self.field) and self.field[self.pos] == ',':
-            self.pos = self.pos + 1
+            self.pos += 1
         return returnlist
 
     def getrouteaddr(self):
@@ -249,25 +264,25 @@ class AddrlistClass:
         if self.field[self.pos] != '<':
             return
 
-        expectroute = 0
-        self.pos = self.pos + 1
+        expectroute = False
+        self.pos += 1
         self.gotonext()
-        adlist = ""
+        adlist = ''
         while self.pos < len(self.field):
             if expectroute:
                 self.getdomain()
-                expectroute = 0
+                expectroute = False
             elif self.field[self.pos] == '>':
-                self.pos = self.pos + 1
+                self.pos += 1
                 break
             elif self.field[self.pos] == '@':
-                self.pos = self.pos + 1
-                expectroute = 1
+                self.pos += 1
+                expectroute = True
             elif self.field[self.pos] == ':':
-                self.pos = self.pos + 1
+                self.pos += 1
             else:
                 adlist = self.getaddrspec()
-                self.pos = self.pos + 1
+                self.pos += 1
                 break
             self.gotonext()
 
@@ -281,41 +296,43 @@ class AddrlistClass:
         while self.pos < len(self.field):
             if self.field[self.pos] == '.':
                 aslist.append('.')
-                self.pos = self.pos + 1
+                self.pos += 1
             elif self.field[self.pos] == '"':
                 aslist.append('"%s"' % self.getquote())
             elif self.field[self.pos] in self.atomends:
                 break
-            else: aslist.append(self.getatom())
+            else:
+                aslist.append(self.getatom())
             self.gotonext()
 
         if self.pos >= len(self.field) or self.field[self.pos] != '@':
-            return ''.join(aslist)
+            return EMPTYSTRING.join(aslist)
 
         aslist.append('@')
-        self.pos = self.pos + 1
+        self.pos += 1
         self.gotonext()
-        return ''.join(aslist) + self.getdomain()
+        return EMPTYSTRING.join(aslist) + self.getdomain()
 
     def getdomain(self):
         """Get the complete domain name from an address."""
         sdlist = []
         while self.pos < len(self.field):
             if self.field[self.pos] in self.LWS:
-                self.pos = self.pos + 1
+                self.pos += 1
             elif self.field[self.pos] == '(':
                 self.commentlist.append(self.getcomment())
             elif self.field[self.pos] == '[':
                 sdlist.append(self.getdomainliteral())
             elif self.field[self.pos] == '.':
-                self.pos = self.pos + 1
+                self.pos += 1
                 sdlist.append('.')
             elif self.field[self.pos] in self.atomends:
                 break
-            else: sdlist.append(self.getatom())
-        return ''.join(sdlist)
+            else:
+                sdlist.append(self.getatom())
+        return EMPTYSTRING.join(sdlist)
 
-    def getdelimited(self, beginchar, endchars, allowcomments = 1):
+    def getdelimited(self, beginchar, endchars, allowcomments=True):
         """Parse a header fragment delimited by special characters.
 
         `beginchar' is the start character for the fragment.
@@ -332,36 +349,36 @@ class AddrlistClass:
             return ''
 
         slist = ['']
-        quote = 0
-        self.pos = self.pos + 1
+        quote = False
+        self.pos += 1
         while self.pos < len(self.field):
-            if quote == 1:
+            if quote:
                 slist.append(self.field[self.pos])
-                quote = 0
+                quote = False
             elif self.field[self.pos] in endchars:
-                self.pos = self.pos + 1
+                self.pos += 1
                 break
             elif allowcomments and self.field[self.pos] == '(':
                 slist.append(self.getcomment())
             elif self.field[self.pos] == '\\':
-                quote = 1
+                quote = True
             else:
                 slist.append(self.field[self.pos])
-            self.pos = self.pos + 1
+            self.pos += 1
 
-        return ''.join(slist)
+        return EMPTYSTRING.join(slist)
 
     def getquote(self):
         """Get a quote-delimited fragment from self's field."""
-        return self.getdelimited('"', '"\r', 0)
+        return self.getdelimited('"', '"\r', False)
 
     def getcomment(self):
         """Get a parenthesis-delimited fragment from self's field."""
-        return self.getdelimited('(', ')\r', 1)
+        return self.getdelimited('(', ')\r', True)
 
     def getdomainliteral(self):
         """Parse an RFC 2822 domain-literal."""
-        return '[%s]' % self.getdelimited('[', ']\r', 0)
+        return '[%s]' % self.getdelimited('[', ']\r', False)
 
     def getatom(self, atomends=None):
         """Parse an RFC 2822 atom.
@@ -377,10 +394,11 @@ class AddrlistClass:
         while self.pos < len(self.field):
             if self.field[self.pos] in atomends:
                 break
-            else: atomlist.append(self.field[self.pos])
-            self.pos = self.pos + 1
+            else:
+                atomlist.append(self.field[self.pos])
+            self.pos += 1
 
-        return ''.join(atomlist)
+        return EMPTYSTRING.join(atomlist)
 
     def getphraselist(self):
         """Parse a sequence of RFC 2822 phrases.
@@ -393,14 +411,15 @@ class AddrlistClass:
 
         while self.pos < len(self.field):
             if self.field[self.pos] in self.LWS:
-                self.pos = self.pos + 1
+                self.pos += 1
             elif self.field[self.pos] == '"':
                 plist.append(self.getquote())
             elif self.field[self.pos] == '(':
                 self.commentlist.append(self.getcomment())
             elif self.field[self.pos] in self.phraseends:
                 break
-            else: plist.append(self.getatom(self.phraseends))
+            else:
+                plist.append(self.getatom(self.phraseends))
 
         return plist
 
@@ -417,7 +436,7 @@ class AddressList(AddrlistClass):
         return len(self.addresslist)
 
     def __str__(self):
-        return ", ".join(map(dump_address_pair, self.addresslist))
+        return COMMASPACE.join(map(dump_address_pair, self.addresslist))
 
     def __add__(self, other):
         # Set union