From 4a197b29ce36b5aa4274007967a2180326f673b6 Mon Sep 17 00:00:00 2001 From: Robert Lehmann Date: Fri, 4 Jun 2010 18:23:06 +0200 Subject: [PATCH] Safeguard file.close() against failure. --- sphinx/builders/intl.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sphinx/builders/intl.py b/sphinx/builders/intl.py index 67937582a..dc6cbf25e 100644 --- a/sphinx/builders/intl.py +++ b/sphinx/builders/intl.py @@ -66,9 +66,11 @@ class MessageCatalogBuilder(Builder): self.catalogs.iteritems(), "writing message catalogs... ", lambda (section, _):darkgreen(section), len(self.catalogs)): pofile = open(path.join(self.outdir, '%s.pot' % section), 'w') - pofile.write(POHEADER % self.config) - for message in messages: - message = message.replace(u'"', ur'\"') - pomsg = u'msgid "%s"\nmsgstr ""\n\n' % message - pofile.write(pomsg.encode('utf-8')) - pofile.close() + try: + pofile.write(POHEADER % self.config) + for message in messages: + message = message.replace(u'"', ur'\"') + pomsg = u'msgid "%s"\nmsgstr ""\n\n' % message + pofile.write(pomsg.encode('utf-8')) + finally: + pofile.close()