[gnome-keysign: 48/75] i18n: Gracefully handle lang not being available



commit 4aeb52e754f260cda691159ee3083c919c60b5a9
Author: Tobias Mueller <muelli cryptobitch de>
Date:   Sun Jul 23 16:07:58 2017 +0200

    i18n: Gracefully handle lang not being available
    
    To fix the following problem:
    
    $ env GNUPGHOME=/tmp/homedir KEYSIGN_GPGME=1 /tmp/gks3/bin/python keysign/avahioffer.py f
    You seem to be trying to execute this script directly which is discouraged. Try python -m instead.
    Cannot set locale
    Traceback (most recent call last):
      File "/tmp/gnome-keysign/keysign/i18n.py", line 23, in <module>
        locale.setlocale(locale.LC_ALL, '')
      File "/tmp/gks3/lib64/python3.5/locale.py", line 594, in setlocale
        return _setlocale(category, locale)
    locale.Error: unsupported locale setting
    Traceback (most recent call last):
      File "keysign/avahioffer.py", line 41, in <module>
        from .i18n import _
      File "/tmp/gnome-keysign/keysign/i18n.py", line 41, in <module>
        _ = lang.ugettext
    AttributeError: 'NullTranslations' object has no attribute 'ugettext'

 keysign/i18n.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/keysign/i18n.py b/keysign/i18n.py
index 20c2a8c..95ab1fa 100644
--- a/keysign/i18n.py
+++ b/keysign/i18n.py
@@ -35,6 +35,10 @@ from locale import gettext as _
 # TRANSLATORS: Please include your locale, e.g. "de". We're trying to debug native gettext
 log.debug (_("Translated for gettext (C)"))
 
-_ = lang.ugettext
+try:
+    _ = lang.ugettext
+except AttributeError:
+    log.exception("Cannot get ugettext from lang: %r", lang)
+
 # TRANSLATORS: Please include your locale, e.g. "de". We're trying to debug pure python gettext
 log.debug (_("Translated for Python (C)"))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]