mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	Merged revisions 87191 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r87191 | r.david.murray | 2010-12-12 15:06:19 -0500 (Sun, 12 Dec 2010) | 6 lines #243654: only create a new MIME boundary if we don't already have one. The rearranged code should do exactly what the old code did, but the new code avoids a potentially costly re computation in the case where a boundary already exists. ........
This commit is contained in:
		
							parent
							
								
									e6e5ea5f2a
								
							
						
					
					
						commit
						0101a3a827
					
				
					 1 changed files with 6 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -180,19 +180,13 @@ def _handle_multipart(self, msg):
 | 
			
		|||
            g = self.clone(s)
 | 
			
		||||
            g.flatten(part, unixfrom=False)
 | 
			
		||||
            msgtexts.append(s.getvalue())
 | 
			
		||||
        # Now make sure the boundary we've selected doesn't appear in any of
 | 
			
		||||
        # the message texts.
 | 
			
		||||
        alltext = NL.join(msgtexts)
 | 
			
		||||
        # BAW: What about boundaries that are wrapped in double-quotes?
 | 
			
		||||
        boundary = msg.get_boundary(failobj=_make_boundary(alltext))
 | 
			
		||||
        # If we had to calculate a new boundary because the body text
 | 
			
		||||
        # contained that string, set the new boundary.  We don't do it
 | 
			
		||||
        # unconditionally because, while set_boundary() preserves order, it
 | 
			
		||||
        # doesn't preserve newlines/continuations in headers.  This is no big
 | 
			
		||||
        # deal in practice, but turns out to be inconvenient for the unittest
 | 
			
		||||
        # suite.
 | 
			
		||||
        if msg.get_boundary() != boundary:
 | 
			
		||||
            msg.set_boundary(boundary)
 | 
			
		||||
        boundary = msg.get_boundary()
 | 
			
		||||
        if not boundary:
 | 
			
		||||
            # Create a boundary that doesn't appear in any of the
 | 
			
		||||
            # message texts.
 | 
			
		||||
            alltext = NL.join(msgtexts)
 | 
			
		||||
            msg.set_boundary(self._make_boundary(alltext))
 | 
			
		||||
        # If there's a preamble, write it out, with a trailing CRLF
 | 
			
		||||
        if msg.preamble is not None:
 | 
			
		||||
            print(msg.preamble, file=self._fp)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue