scripts/gestion/mail/locale_util.py
Daniel STAN 632b4499da locale_util: n'attrape pas les exc in-context
Quand une exception était lancée par le code du context, celle-ci était
catchée par le try censé récupérer les prob de locales manquantes. Le code
faulty était alors lancé une deuxième fois alors qu'il n'aurait pas du. Bref,
ça plantait avec une erreur incompréhensible.
2014-11-10 23:41:45 +01:00

27 lines
674 B
Python

# -*- coding: utf-8 -*-
# Source:
# http://stackoverflow.com/questions/18593661/how-do-i-strftime-a-date-object-in-a-different-locale
import locale
import threading
from datetime import datetime
from contextlib import contextmanager
LOCALE_LOCK = threading.Lock()
@contextmanager
def setlocale(name):
with LOCALE_LOCK:
saved = locale.setlocale(locale.LC_ALL)
try:
current_val = locale.setlocale(locale.LC_ALL, name)
except:
current_val = saved
print "Warning: Failed setting locale %r" % name
try:
yield current_val
finally:
locale.setlocale(locale.LC_ALL, saved)