script_mass_mail/locale_util.py
2021-03-04 02:39:20 +01:00

27 lines
689 B
Python
Executable file

# -*- 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)