Skip to content

Commit 71fac0f

Browse files
committed
Applied some minor fixes
1 parent a99aada commit 71fac0f

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

src/tinyscript/helpers/fexec.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def execute(cmd, **kwargs):
6060
return (out, err, p.returncode) if rc else (out, err)
6161

6262

63-
def execute_and_log(cmd, out_maxlen=256, silent=None, **kwargs):
63+
def execute_and_log(cmd, out_maxlen=256, silent=None, warn=None, **kwargs):
6464
""" Wrapper for subprocess.Popen, logging execution using the logger from kwargs or globals.
6565
6666
:param cmd: command string
@@ -80,7 +80,10 @@ def execute_and_log(cmd, out_maxlen=256, silent=None, **kwargs):
8080
if err:
8181
err = ensure_str(err).strip()
8282
if all(re.search(pattern, err) is None for pattern in (silent or [])):
83-
(logger.warning if err.startswith("WARNING") else logger.error)(err)
83+
if any(err.startswith(x) for x in ["WARNING ", "[WARNING] ", "(WARNING) ", "{WARNING} "]):
84+
logger.warning(err.split(" ", 1)[1])
85+
else:
86+
(logger.warning if any(re.search(p, err) is None for p in (warn or [])) else logger.error)(err)
8487
return out, err, retc
8588

8689

src/tinyscript/preimports/stringp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111

1212
def _natural_key(case_sensitive=False):
1313
""" Key computation function for considering keys in a natural way.
14-
14+
1515
:param text: text to be used for computing the key
1616
"""
1717
def _wrapper(text):
18-
return [(0, int(t)) if t.isdigit() else (1, t if case_sensitive else t.lower()) for t in \
19-
re.split(r"(\d+|\D+)", text)]
18+
return [(0, int(t)) if t.lstrip("-").isdigit() else (1, t if case_sensitive else t.lower()) for t in \
19+
re.split(r"(\-?(?:\d+|\D+))", text)]
2020
return _wrapper
2121
string.natural_key = _natural_key
2222

tests/test_preimports_string.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ def test_extra_string_functions(self):
2020
string.sort_natural(l)
2121
self.assertEqual(tuple(LST), tuple(l))
2222
self.assertEqual(tuple(LST), tuple(string.sorted_natural(l)))
23+
self.assertEqual(tuple(string.sorted_natural(["1", "A", "-1"])), ("-1", "1", "A"))
2324

0 commit comments

Comments
 (0)