Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-jupyterlab-server for 
openSUSE:Factory checked in at 2024-09-16 17:42:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyterlab-server (Old)
 and      /work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jupyterlab-server"

Mon Sep 16 17:42:43 2024 rev:14 rq:1201268 version:2.27.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jupyterlab-server/python-jupyterlab-server.changes
        2024-06-27 16:01:09.909895071 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.29891/python-jupyterlab-server.changes
     2024-09-16 17:43:50.714965377 +0200
@@ -1,0 +2,9 @@
+Sun Sep 15 16:12:43 UTC 2024 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 2.27.3
+  * Fix handling language packs for pseudo language #456
+    (@fcollonval)
+  * Load overrides once, rather than in each settings handler #452
+    (@krassowski)
+
+-------------------------------------------------------------------

Old:
----
  jupyterlab_server-2.27.1.tar.gz

New:
----
  jupyterlab_server-2.27.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jupyterlab-server.spec ++++++
--- /var/tmp/diff_new_pack.V4uw1i/_old  2024-09-16 17:43:51.474996809 +0200
+++ /var/tmp/diff_new_pack.V4uw1i/_new  2024-09-16 17:43:51.478996975 +0200
@@ -26,7 +26,7 @@
 %endif
 
 Name:           python-jupyterlab-server%{psuffix}
-Version:        2.27.1
+Version:        2.27.3
 Release:        0
 Summary:        Server components for JupyterLab and JupyterLab-like 
applications
 License:        BSD-3-Clause

++++++ jupyterlab_server-2.27.1.tar.gz -> jupyterlab_server-2.27.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyterlab_server-2.27.1/.github/workflows/tests.yml 
new/jupyterlab_server-2.27.3/.github/workflows/tests.yml
--- old/jupyterlab_server-2.27.1/.github/workflows/tests.yml    2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/.github/workflows/tests.yml    2020-02-02 
01:00:00.000000000 +0100
@@ -66,7 +66,7 @@
           pipx run doc8 --max-line-length=200
 
   docs:
-    runs-on: windows-latest
+    runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
       - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyterlab_server-2.27.1/CHANGELOG.md 
new/jupyterlab_server-2.27.3/CHANGELOG.md
--- old/jupyterlab_server-2.27.1/CHANGELOG.md   2020-02-02 01:00:00.000000000 
+0100
+++ new/jupyterlab_server-2.27.3/CHANGELOG.md   2020-02-02 01:00:00.000000000 
+0100
@@ -2,6 +2,40 @@
 
 <!-- <START NEW CHANGELOG ENTRY> -->
 
+## 2.27.3
+
+([Full 
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.2...cac303a64815e1f373acb518c783bd25787c4d40))
+
+### Bugs fixed
+
+- Fix handling language packs for pseudo language 
[#456](https://github.com/jupyterlab/jupyterlab_server/pull/456) 
([@fcollonval](https://github.com/fcollonval))
+
+### Maintenance and upkeep improvements
+
+- Run docs on ubuntu 
[#455](https://github.com/jupyterlab/jupyterlab_server/pull/455) 
([@blink1073](https://github.com/blink1073))
+
+### Contributors to this release
+
+([GitHub contributors page for this 
release](https://github.com/jupyterlab/jupyterlab_server/graphs/contributors?from=2024-05-22&to=2024-07-16&type=c))
+
+[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Ablink1073+updated%3A2024-05-22..2024-07-16&type=Issues)
 | 
[@fcollonval](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Afcollonval+updated%3A2024-05-22..2024-07-16&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
+## 2.27.2
+
+([Full 
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.1...348c8ea202704ad1b5d87fa4ca90ccbdd541d1db))
+
+### Bugs fixed
+
+- Load overrides once, rather than in each settings handler 
[#452](https://github.com/jupyterlab/jupyterlab_server/pull/452) 
([@krassowski](https://github.com/krassowski))
+
+### Contributors to this release
+
+([GitHub contributors page for this 
release](https://github.com/jupyterlab/jupyterlab_server/graphs/contributors?from=2024-04-23&to=2024-05-22&type=c))
+
+[@krassowski](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Akrassowski+updated%3A2024-04-23..2024-05-22&type=Issues)
+
 ## 2.27.1
 
 ([Full 
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.27.0...055a1695ba0aa0718764541b503bb0b5871e69c5))
@@ -16,8 +50,6 @@
 
 
[@divyansshhh](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Adivyansshhh+updated%3A2024-04-22..2024-04-23&type=Issues)
 
-<!-- <END NEW CHANGELOG ENTRY> -->
-
 ## 2.27.0
 
 ([Full 
Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.26.0...951b54c234a30aa2c8825d43a372ae812fd6dc78))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyterlab_server-2.27.1/PKG-INFO 
new/jupyterlab_server-2.27.3/PKG-INFO
--- old/jupyterlab_server-2.27.1/PKG-INFO       2020-02-02 01:00:00.000000000 
+0100
+++ new/jupyterlab_server-2.27.3/PKG-INFO       2020-02-02 01:00:00.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.3
 Name: jupyterlab_server
-Version: 2.27.1
+Version: 2.27.3
 Summary: A set of server components for JupyterLab and JupyterLab like 
applications.
 Project-URL: Homepage, https://jupyterlab-server.readthedocs.io
 Project-URL: Documentation, https://jupyterlab-server.readthedocs.io
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyterlab_server-2.27.1/jupyterlab_server/_version.py 
new/jupyterlab_server-2.27.3/jupyterlab_server/_version.py
--- old/jupyterlab_server-2.27.1/jupyterlab_server/_version.py  2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/jupyterlab_server/_version.py  2020-02-02 
01:00:00.000000000 +0100
@@ -7,7 +7,7 @@
 """
 import re
 
-__version__ = "2.27.1"
+__version__ = "2.27.3"
 
 # Build up version_info tuple for backwards compatibility
 pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyterlab_server-2.27.1/jupyterlab_server/handlers.py 
new/jupyterlab_server-2.27.3/jupyterlab_server/handlers.py
--- old/jupyterlab_server-2.27.1/jupyterlab_server/handlers.py  2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/jupyterlab_server/handlers.py  2020-02-02 
01:00:00.000000000 +0100
@@ -20,6 +20,7 @@
 from .licenses_handler import LicensesHandler, LicensesManager
 from .listings_handler import ListingsHandler, fetch_listings
 from .settings_handler import SettingsHandler
+from .settings_utils import _get_overrides
 from .themes_handler import ThemesHandler
 from .translations_handler import TranslationsHandler
 from .workspaces_handler import WorkspacesHandler, WorkspacesManager
@@ -227,11 +228,19 @@
 
     # Handle local settings.
     if extension_app.schemas_dir:
+        # Load overrides once, rather than in each copy of the settings handler
+        overrides, error = _get_overrides(extension_app.app_settings_dir)
+
+        if error:
+            overrides_warning = "Failed loading overrides: %s"
+            extension_app.log.warning(overrides_warning, error)
+
         settings_config: dict[str, Any] = {
             "app_settings_dir": extension_app.app_settings_dir,
             "schemas_dir": extension_app.schemas_dir,
             "settings_dir": extension_app.user_settings_dir,
             "labextensions_path": labextensions_path,
+            "overrides": overrides,
         }
 
         # Handle requests for the list of settings. Make slash optional.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyterlab_server-2.27.1/jupyterlab_server/settings_handler.py 
new/jupyterlab_server-2.27.3/jupyterlab_server/settings_handler.py
--- old/jupyterlab_server-2.27.1/jupyterlab_server/settings_handler.py  
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/jupyterlab_server/settings_handler.py  
2020-02-02 01:00:00.000000000 +0100
@@ -25,11 +25,12 @@
         schemas_dir: str,
         settings_dir: str,
         labextensions_path: list[str],
+        overrides: dict[str, Any] | None = None,
         **kwargs: Any,  # noqa: ARG002
     ) -> None:
         """Initialize the handler."""
         SchemaHandler.initialize(
-            self, app_settings_dir, schemas_dir, settings_dir, 
labextensions_path
+            self, app_settings_dir, schemas_dir, settings_dir, 
labextensions_path, overrides
         )
         ExtensionHandlerMixin.initialize(self, name)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyterlab_server-2.27.1/jupyterlab_server/settings_utils.py 
new/jupyterlab_server-2.27.3/jupyterlab_server/settings_utils.py
--- old/jupyterlab_server-2.27.1/jupyterlab_server/settings_utils.py    
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/jupyterlab_server/settings_utils.py    
2020-02-02 01:00:00.000000000 +0100
@@ -17,7 +17,13 @@
 from jupyter_server.services.config.manager import ConfigManager, 
recursive_update
 from tornado import web
 
-from .translation_utils import DEFAULT_LOCALE, L10N_SCHEMA_NAME, SYS_LOCALE, 
is_valid_locale
+from .translation_utils import (
+    DEFAULT_LOCALE,
+    L10N_SCHEMA_NAME,
+    PSEUDO_LANGUAGE,
+    SYS_LOCALE,
+    is_valid_locale,
+)
 
 # The JupyterLab settings file extension.
 SETTINGS_EXTENSION = ".jupyterlab-settings"
@@ -448,11 +454,15 @@
         schemas_dir: str,
         settings_dir: str,
         labextensions_path: list[str] | None,
+        overrides: dict[str, Any] | None = None,
         **kwargs: Any,
     ) -> None:
         """Initialize the handler."""
         super().initialize(**kwargs)
-        self.overrides, error = _get_overrides(app_settings_dir)
+        error = None
+        if not overrides:
+            overrides, error = _get_overrides(app_settings_dir)
+        self.overrides = overrides
         self.app_settings_dir = app_settings_dir
         self.schemas_dir = schemas_dir
         self.settings_dir = settings_dir
@@ -493,7 +503,7 @@
         current_locale = settings.get("settings", {}).get("locale") or 
SYS_LOCALE
         if current_locale == "default":
             current_locale = SYS_LOCALE
-        if not is_valid_locale(current_locale):
+        if not is_valid_locale(current_locale) and current_locale != 
PSEUDO_LANGUAGE:
             current_locale = DEFAULT_LOCALE
 
         return current_locale
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyterlab_server-2.27.1/jupyterlab_server/translation_utils.py 
new/jupyterlab_server-2.27.3/jupyterlab_server/translation_utils.py
--- old/jupyterlab_server-2.27.1/jupyterlab_server/translation_utils.py 
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/jupyterlab_server/translation_utils.py 
2020-02-02 01:00:00.000000000 +0100
@@ -5,6 +5,7 @@
 Localization utilities to find available language packs and packages with
 localization data.
 """
+
 from __future__ import annotations
 
 import gettext
@@ -40,6 +41,9 @@
 L10N_SCHEMA_NAME = "@jupyterlab/translation-extension:plugin"
 PY37_OR_LOWER = sys.version_info[:2] <= (3, 7)
 
+# Pseudo language locale for in-context translation
+PSEUDO_LANGUAGE = "ach_UG"
+
 _default_schema_context = "schema"
 _default_settings_context = "settings"
 _lab_i18n_config = "jupyter.lab.internationalization"
@@ -151,7 +155,9 @@
     - Brazilian German: "de_BR"
     """
     # Add exception for Norwegian
-    if locale_ == "no_NO":
+    if locale_ in {
+        "no_NO",
+    }:
         return True
 
     valid = False
@@ -183,8 +189,11 @@
     """
     locale_ = locale_ if is_valid_locale(locale_) else DEFAULT_LOCALE
     display_locale = display_locale if is_valid_locale(display_locale) else 
DEFAULT_LOCALE
-    loc = babel.Locale.parse(locale_)
-    display_name = loc.get_display_name(display_locale)
+    try:
+        loc = babel.Locale.parse(locale_)
+        display_name = loc.get_display_name(display_locale)
+    except babel.UnknownLocaleError:
+        display_name = display_locale
     if display_name:
         display_name = display_name[0].upper() + display_name[1:]
     return display_name  # type:ignore[return-value]
@@ -312,21 +321,38 @@
             else:
                 invalid_locales.append(locale_)
 
-        display_locale = display_locale if display_locale in valid_locales 
else DEFAULT_LOCALE
+        display_locale_ = display_locale if display_locale in valid_locales 
else DEFAULT_LOCALE
         locales = {
             DEFAULT_LOCALE: {
-                "displayName": get_display_name(DEFAULT_LOCALE, 
display_locale),
+                "displayName": (
+                    get_display_name(DEFAULT_LOCALE, display_locale_)
+                    if display_locale != PSEUDO_LANGUAGE
+                    else "Default"
+                ),
                 "nativeName": get_display_name(DEFAULT_LOCALE, DEFAULT_LOCALE),
             }
         }
         for locale_ in valid_locales:
             locales[locale_] = {
-                "displayName": get_display_name(locale_, display_locale),
+                "displayName": get_display_name(locale_, display_locale_),
                 "nativeName": get_display_name(locale_, locale_),
             }
 
         if invalid_locales:
-            messages.append(f"The following locales are invalid: 
{invalid_locales}!")
+            if PSEUDO_LANGUAGE in invalid_locales:
+                invalid_locales.remove(PSEUDO_LANGUAGE)
+                locales[PSEUDO_LANGUAGE] = {
+                    "displayName": "Pseudo-language",
+                    # Trick to ensure the proper language is selected in the 
language menu
+                    "nativeName": (
+                        "to translate the UI"
+                        if display_locale != PSEUDO_LANGUAGE
+                        else "Pseudo-language"
+                    ),
+                }
+            # Check again as the pseudo-language was maybe the only invalid 
locale
+            if invalid_locales:
+                messages.append(f"The following locales are invalid: 
{invalid_locales}!")
 
     return locales, "\n".join(messages)
 
@@ -351,7 +377,11 @@
     found_packages_locales, message = get_installed_packages_locale(locale_)
     locale_data = {}
     messages = message.split("\n")
-    if not message and is_valid_locale(locale_) and locale_ in found_locales:
+    if (
+        not message
+        and (locale_ == PSEUDO_LANGUAGE or is_valid_locale(locale_))
+        and locale_ in found_locales
+    ):
         path = found_locales[locale_]
         for root, __, files in os.walk(path, topdown=False):
             for name in files:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyterlab_server-2.27.1/tests/test_settings_api.py 
new/jupyterlab_server-2.27.3/tests/test_settings_api.py
--- old/jupyterlab_server-2.27.1/tests/test_settings_api.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.27.3/tests/test_settings_api.py     2020-02-02 
01:00:00.000000000 +0100
@@ -30,9 +30,13 @@
 
 
 @pytest.mark.parametrize("ext", ["json", "json5"])
-async def test_get_settings_overrides_d_dicts(jp_fetch, labserverapp, ext):
+async def test_get_settings_overrides_d_dicts(
+    jp_fetch, jp_serverapp, make_labserver_extension_app, ext
+):
     # Check that values that are dictionaries in overrides.d/*.json are
     # merged with the schema.
+    labserverapp = make_labserver_extension_app()
+    labserverapp._link_jupyter_server_extension(jp_serverapp)
     id = "@jupyterlab/apputils-extension:themes"
     overrides_d = Path(labserverapp.app_settings_dir) / "overrides.d"
     overrides_d.mkdir(exist_ok=True, parents=True)
@@ -41,6 +45,8 @@
         if ext == "json5":
             text += "\n// a comment"
         (overrides_d / f"foo-{i}.{ext}").write_text(text, encoding="utf-8")
+    # Initialize labserverapp only after the overrides were created
+    labserverapp.initialize()
     r = await jp_fetch("lab", "api", "settings", id)
     validate_request(r)
     res = r.body.decode()

Reply via email to