[Bf-blender-cvs] [fd48f1b505c] master: I18n: improve unit extraction regex

Damien Picard noreply at git.blender.org
Wed Oct 5 17:58:58 CEST 2022


Commit: fd48f1b505c37e99567233de1b7eb53fb9e5cb20
Author: Damien Picard
Date:   Wed Oct 5 17:57:46 2022 +0200
Branches: master
https://developer.blender.org/rBfd48f1b505c37e99567233de1b7eb53fb9e5cb20

I18n: improve unit extraction regex

There were two issues with the unit extraction regex:
- it didn't take the inches, feet, arcminutes and arcseconds symbols
into accounts, which aren’t letters but ' and ";
- some units have more than one B_UNIT_DEF_* flag.

This allows extracting feet, inches, square millimeters, cubic
millimeters, arcminutes, and arcseconds.

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D16144

===================================================================

M	release/scripts/modules/bl_i18n_utils/settings.py

===================================================================

diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py
index a8a3ed9f4b7..95de2abc709 100644
--- a/release/scripts/modules/bl_i18n_utils/settings.py
+++ b/release/scripts/modules/bl_i18n_utils/settings.py
@@ -260,9 +260,9 @@ PYGETTEXT_KEYWORDS = (() +
     # NOTE: regex is a bit more complex than it would need too. Since the actual
     # identifier (`B_UNIT_DEF_`) is at the end, if it's simpler/too general it
     # becomes extremely slow to process some (unrelated) source files.
-    ((r"\{(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,)){4}\s*" +
+    ((r"\{(?:(?:\s*\"[^\",]+\"\s*,)|(?:\s*\"\\\"\",)|(?:\s*NULL\s*,)){4}\s*" +
       _msg_re + r"\s*,(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,))(?:[^,]+,){2}"
-      + "\s*B_UNIT_DEF_[_A-Z]+\s*\}"),) +
+      + "(?:\|?\s*B_UNIT_DEF_[_A-Z]+\s*)+\}"),) +
 
     tuple((r"{}\(\s*" + _msg_re + r"\s*,\s*(?:" +
            r"\s*,\s*)?(?:".join(_ctxt_re_gen(i) for i in range(PYGETTEXT_MAX_MULTI_CTXT)) + r")?\s*\)").format(it)



More information about the Bf-blender-cvs mailing list