summaryrefslogtreecommitdiff
path: root/src/zope/i18n/compile.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/i18n/compile.py')
-rw-r--r--src/zope/i18n/compile.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/zope/i18n/compile.py b/src/zope/i18n/compile.py
index 834bf24..81a6a17 100644
--- a/src/zope/i18n/compile.py
+++ b/src/zope/i18n/compile.py
@@ -11,12 +11,14 @@ logger = logging.getLogger('zope.i18n')
HAS_PYTHON_GETTEXT = True
+
def _safe_mtime(path):
try:
return os.path.getmtime(path)
except (IOError, OSError):
return None
+
def compile_mo_file(domain, lc_messages_path):
"""Creates or updates a mo file in the locales folder."""
@@ -34,16 +36,18 @@ def compile_mo_file(domain, lc_messages_path):
if po_mtime > mo_mtime:
try:
- # Msgfmt.getAsFile returns io.BytesIO on Python 3, and cStringIO.StringIO
- # on Python 2; sadly StringIO isn't a proper context manager, so we have to
- # wrap it with `closing`. Also, Msgfmt doesn't properly close a file
- # it opens for reading if you pass the path, but it does if you pass
- # the file.
+ # Msgfmt.getAsFile returns io.BytesIO on Python 3,
+ # and cStringIO.StringIO on Python 2;
+ # sadly StringIO isn't a proper context manager, so we have to
+ # wrap it with `closing`. Also, Msgfmt doesn't properly close a
+ # file it opens for reading if you pass the path,
+ # but it does if you pass the file.
with open(pofile, 'rb') as pofd:
with closing(Msgfmt(pofd, domain).getAsFile()) as mo:
with open(mofile, 'wb') as fd:
fd.write(mo.read())
except PoSyntaxError as err:
- logger.warning('Syntax error while compiling %s (%s).', pofile, err.msg)
+ logger.warning(
+ 'Syntax error while compiling %s (%s).', pofile, err.msg)
except (IOError, OSError) as err:
logger.warning('Error while compiling %s (%s).', pofile, err)