#1388 Fix locale issues with date representations
Merged 4 years ago by vmaljulin. Opened 4 years ago by vmaljulin.
vmaljulin/fm-orchestrator FACTORY-4323  into  master

@@ -38,6 +38,7 @@ 

  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.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 @@ 

          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

@@ -27,6 +27,8 @@ 

  import inspect

  import hashlib

  import time

+ import locale

+ import contextlib

  from datetime import datetime

  from functools import partial

  
@@ -761,3 +763,10 @@ 

      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)