From 90a9f81d377b17c0df08faac5aa0fdd412508123 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 4 Nov 2009 11:38:06 +0000 Subject: [PATCH] Fixed #12147 -- Replaced use of try-except-finally to allow for Python 2.4 support. Thanks to knutin for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@11721 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/mail/backends/console.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/django/core/mail/backends/console.py b/django/core/mail/backends/console.py index 705497520a..fa71f3816f 100644 --- a/django/core/mail/backends/console.py +++ b/django/core/mail/backends/console.py @@ -18,17 +18,20 @@ class EmailBackend(BaseEmailBackend): return self._lock.acquire() try: - stream_created = self.open() - for message in email_messages: - self.stream.write('%s\n' % message.message().as_string()) - self.stream.write('-'*79) - self.stream.write('\n') - self.stream.flush() # flush after each message - if stream_created: - self.close() - except: - if not self.fail_silently: - raise + # The try-except is nested to allow for + # Python 2.4 support (Refs #12147) + try: + stream_created = self.open() + for message in email_messages: + self.stream.write('%s\n' % message.message().as_string()) + self.stream.write('-'*79) + self.stream.write('\n') + self.stream.flush() # flush after each message + if stream_created: + self.close() + except: + if not self.fail_silently: + raise finally: self._lock.release() return len(email_messages)