From a5cf9cc0e42fc58b86192c6a7ddadfd3245064a1 Mon Sep 17 00:00:00 2001 From: bahuber Date: Tue, 21 Nov 2023 18:19:18 -0700 Subject: [PATCH 1/2] Change locale.getdefaultlocale to getlocale --- pytest_nunit/nunit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest_nunit/nunit.py b/pytest_nunit/nunit.py index 3488cf2..c7fd0d8 100644 --- a/pytest_nunit/nunit.py +++ b/pytest_nunit/nunit.py @@ -116,7 +116,7 @@ def _format_filters(filters_): def _getlocale(): - language_code = locale.getdefaultlocale()[0] + language_code = locale.getlocale(locale.LC_CTYPE)[0] if language_code: return language_code return "en-US" From 542d7ccbe51275dcb5f08ce0d96a5da7e61d3588 Mon Sep 17 00:00:00 2001 From: bahuber Date: Wed, 22 Nov 2023 10:23:29 -0700 Subject: [PATCH 2/2] Update nunit.py --- pytest_nunit/nunit.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pytest_nunit/nunit.py b/pytest_nunit/nunit.py index c7fd0d8..17da347 100644 --- a/pytest_nunit/nunit.py +++ b/pytest_nunit/nunit.py @@ -116,9 +116,18 @@ def _format_filters(filters_): def _getlocale(): - language_code = locale.getlocale(locale.LC_CTYPE)[0] + language_code = locale.getlocale(locale.LC_CTYPE)[0] # Example: 'English_United States' if language_code: - return language_code + try: + return ( + locale + .locale_alias # Dictionary providing reference from verbose strings to codes and subcodes + .get(language_code.replace(' ', '-').lower()) # Example: .get('english_united-states) => 'en_US.ISO8859-1' + .split('.')[0] # Example: 'en_US' + .replace('_', '-') # Example: 'en-US' + ) + except Exception: + pass return "en-US"