From: Benjamin Peterson Date: Sun, 10 May 2009 01:38:02 +0000 (+0000) Subject: close file explicitly X-Git-Tag: v2.7a1~1223 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=14c7bc2ad22f4fffdcf2b3d58b1358846a53079f;p=python close file explicitly --- diff --git a/Lib/gettext.py b/Lib/gettext.py index 90ebc51800..8b8b510a0d 100644 --- a/Lib/gettext.py +++ b/Lib/gettext.py @@ -467,7 +467,6 @@ def translation(domain, localedir=None, languages=None, if fallback: return NullTranslations() raise IOError(ENOENT, 'No translation file found for domain', domain) - # TBD: do we need to worry about the file pointer getting collected? # Avoid opening, reading, and parsing the .mo file after it's been done # once. result = None @@ -475,7 +474,8 @@ def translation(domain, localedir=None, languages=None, key = os.path.abspath(mofile) t = _translations.get(key) if t is None: - t = _translations.setdefault(key, class_(open(mofile, 'rb'))) + with open(mofile, 'rb') as fp: + t = _translations.setdefault(key, class_(fp)) # Copy the translation object to allow setting fallbacks and # output charset. All other instance data is shared with the # cached object.