commit: 4e6a7a63b1f89f9c3a760ef8c4004b06638b5f50
Author: Brian Harring <ferringb <AT> gmail <DOT> com>
AuthorDate: Sat Nov 29 18:37:05 2025 +0000
Commit: Brian Harring <ferringb <AT> gmail <DOT> com>
CommitDate: Sat Nov 29 22:40:39 2025 +0000
URL:
https://gitweb.gentoo.org/proj/pkgcore/snakeoil.git/commit/?id=4e6a7a63
chore: migrate internal usage of demand_compile_regexp
Signed-off-by: Brian Harring <ferringb <AT> gmail.com>
src/snakeoil/bash.py | 12 ++++++------
src/snakeoil/strings.py | 7 +++----
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/snakeoil/bash.py b/src/snakeoil/bash.py
index 3ca737c..c20c96e 100644
--- a/src/snakeoil/bash.py
+++ b/src/snakeoil/bash.py
@@ -10,16 +10,16 @@ libtool .la files that are bash compatible, but
non-executable.
from shlex import shlex
-from .demandload import demand_compile_regexp
+from .delayed import regexp
from .fileutils import readlines
from .log import logger
from .mappings import ProtectedDict
-demand_compile_regexp("line_cont_regexp", r"^(.*[^\\]|)\\$")
-demand_compile_regexp("inline_comment_regexp", r"^.*\s#.*$")
-demand_compile_regexp("var_find", r"\\?(\${\w+}|\$\w+)")
-demand_compile_regexp("backslash_find", r"\\.")
-demand_compile_regexp("ansi_escape_re", r"(\x9B|\x1B\[)[0-?]*[ -/]*[@-~]")
+line_cont_regexp = regexp(r"^(.*[^\\]|)\\$")
+inline_comment_regexp = regexp(r"^.*\s#.*$")
+var_find = regexp(r"\\?(\${\w+}|\$\w+)")
+backslash_find = regexp(r"\\.")
+ansi_escape_re = regexp(r"(\x9B|\x1B\[)[0-?]*[ -/]*[@-~]")
__all__ = (
"iter_read_bash",
diff --git a/src/snakeoil/strings.py b/src/snakeoil/strings.py
index d0dc58a..a079b41 100644
--- a/src/snakeoil/strings.py
+++ b/src/snakeoil/strings.py
@@ -1,8 +1,8 @@
"""String related methods."""
-from .demandload import demand_compile_regexp
+from .delayed import regexp
-demand_compile_regexp("_whitespace_regex", r"^(?P<indent>\s+)")
+_whitespace_regex = regexp(r"^(?P<indent>\s+)")
def pluralism(obj, none=None, singular="", plural="s"):
@@ -26,6 +26,7 @@ def pluralism(obj, none=None, singular="", plural="s"):
def doc_dedent(s):
"""Support dedenting docstrings with initial line having no indentation."""
+ indent: str = ""
try:
lines = s.split("\n")
except AttributeError:
@@ -36,7 +37,5 @@ def doc_dedent(s):
if mo := _whitespace_regex.match(line):
indent = mo.group("indent")
break
- else:
- indent = ""
len_i = len(indent)
return "\n".join(x[len_i:] if x.startswith(indent) else x for x in lines)