Fix locale issues with date representations

This fixes #1214
Also fixes tests running on different locales

Signed-off-by: Valerij Maljulin <vmaljuli@redhat.com>
This commit is contained in:
Valerij Maljulin
2019-08-19 15:12:51 +02:00
parent 1d9d08141f
commit 4b4428a9e3
2 changed files with 13 additions and 2 deletions

View File

@@ -38,6 +38,7 @@ import kobo.rpmlib
import threading
import six.moves.xmlrpc_client as xmlrpclib
import munch
import locale
from itertools import chain
from OpenSSL.SSL import SysCallError
import textwrap
@@ -51,7 +52,7 @@ from module_build_service.errors import ProgrammingError
from module_build_service.builder.base import GenericBuilder
from module_build_service.builder.KojiContentGenerator import KojiContentGenerator
from module_build_service.utils import get_reusable_components, get_reusable_module
from module_build_service.utils import get_reusable_components, get_reusable_module, set_locale
logging.basicConfig(level=logging.DEBUG)
@@ -324,7 +325,8 @@ class KojiModuleBuilder(GenericBuilder):
name = "module-build-macros"
version = "0.1"
release = "1"
today = datetime.date.today().strftime("%a %b %d %Y")
with set_locale(locale.LC_TIME, "en_US.utf8"):
today = datetime.date.today().strftime("%a %b %d %Y")
mmd = module_build.mmd()
# Generate "Conflicts: name = version-release". This is workaround for

View File

@@ -27,6 +27,8 @@ import functools
import inspect
import hashlib
import time
import locale
import contextlib
from datetime import datetime
from functools import partial
@@ -761,3 +763,10 @@ def mmd_to_str(mmd):
index = Modulemd.ModuleIndex()
index.add_module_stream(mmd)
return to_text_type(index.dump_to_string())
@contextlib.contextmanager
def set_locale(*args, **kwargs):
saved = locale.setlocale(locale.LC_ALL)
yield locale.setlocale(*args, **kwargs)
locale.setlocale(locale.LC_ALL, saved)