From 641e266012ec723fcfcb56dc50f2578073ce9157 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Thu, 29 May 2003 20:09:31 +0000 Subject: [PATCH] Backport from 2.3 trunk: _make_boundary(): Fix for SF bug #745478, broken boundary calculation in some locales. This code simplifies the boundary algorithm to use randint() which is what we wanted anyway. Bump package version to 2.5.3. --- Lib/email/Generator.py | 8 ++++++-- Lib/email/__init__.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Lib/email/Generator.py b/Lib/email/Generator.py index 9cce51c40b55..6f17963d0f18 100644 --- a/Lib/email/Generator.py +++ b/Lib/email/Generator.py @@ -5,6 +5,7 @@ """ import re +import sys import time import locale import random @@ -356,11 +357,14 @@ class DecodedGenerator(Generator): # Helper +_width = len(repr(sys.maxint-1)) +_fmt = '%%0%dd' % _width + def _make_boundary(text=None): # Craft a random boundary. If text is given, ensure that the chosen # boundary doesn't appear in the text. - dp = locale.localeconv().get('decimal_point', '.') - boundary = ('=' * 15) + repr(random.random()).split(dp)[1] + '==' + token = random.randint(0, sys.maxint-1) + boundary = ('=' * 15) + (_fmt % token) + '==' if text is None: return boundary b = boundary diff --git a/Lib/email/__init__.py b/Lib/email/__init__.py index d9462bcab568..b5d8d72eee7d 100644 --- a/Lib/email/__init__.py +++ b/Lib/email/__init__.py @@ -4,7 +4,7 @@ """A package for parsing, handling, and generating email messages. """ -__version__ = '2.5.2' +__version__ = '2.5.3' __all__ = [ 'base64MIME', -- 2.47.3