From: Aarni Koskela Date: Mon, 17 Mar 2025 12:45:30 +0000 (+0200) Subject: Add fast paths in `python_format` and `python_brace_format` X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=55738bfb2d6323f60e215993e7c1160eae095c85;p=thirdparty%2Fbabel.git Add fast paths in `python_format` and `python_brace_format` --- diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index de96ea57..9ef8c0c4 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -289,9 +289,12 @@ class Message: :type: `bool`""" ids = self.id - if not isinstance(ids, (list, tuple)): - ids = [ids] - return any(PYTHON_FORMAT.search(id) for id in ids) + if isinstance(ids, (list, tuple)): + for id in ids: # Explicit loop for performance reasons. + if PYTHON_FORMAT.search(id): + return True + return False + return bool(PYTHON_FORMAT.search(ids)) @property def python_brace_format(self) -> bool: @@ -304,9 +307,12 @@ class Message: :type: `bool`""" ids = self.id - if not isinstance(ids, (list, tuple)): - ids = [ids] - return any(_has_python_brace_format(id) for id in ids) + if isinstance(ids, (list, tuple)): + for id in ids: # Explicit loop for performance reasons. + if _has_python_brace_format(id): + return True + return False + return _has_python_brace_format(ids) class TranslationError(Exception):