script_mass_mail/locale_util.py

28 lines
689 B
Python
Raw Normal View History

2021-03-04 02:38:30 +01:00
# -*- mode: 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)