diff mbox series

patman: Resolve python string vs. regex escaping syntax

Message ID 20240726190240.167338-1-computersforpeace@gmail.com
State Accepted
Commit 7b8f0bfa6e1a0390bea8e2b24d7d7fa33d654db3
Delegated to: Simon Glass
Headers show
Series patman: Resolve python string vs. regex escaping syntax | expand

Commit Message

Brian Norris July 26, 2024, 7:02 p.m. UTC
Python strings have their own notion of backslash-escaping, and that can
conflict with the intentions for strings passed to the 're' module. In
particular, I get warnings like this:

tools/patman/../patman/commit.py:9: SyntaxWarning: invalid escape sequence '\s'
  re_subject_tag = re.compile('([^:\s]*):\s*(.*)')

We should use a raw string (r'...') so that all escaping is passed into
the regex module, not interpreted within the string itself.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---

 tools/patman/commit.py      | 2 +-
 tools/patman/patchstream.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Simon Glass July 28, 2024, 7:36 p.m. UTC | #1
On Fri, 26 Jul 2024 at 13:03, Brian Norris <computersforpeace@gmail.com> wrote:
>
> Python strings have their own notion of backslash-escaping, and that can
> conflict with the intentions for strings passed to the 're' module. In
> particular, I get warnings like this:
>
> tools/patman/../patman/commit.py:9: SyntaxWarning: invalid escape sequence '\s'
>   re_subject_tag = re.compile('([^:\s]*):\s*(.*)')
>
> We should use a raw string (r'...') so that all escaping is passed into
> the regex module, not interpreted within the string itself.
>
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> ---
>
>  tools/patman/commit.py      | 2 +-
>  tools/patman/patchstream.py | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox series

Patch

diff --git a/tools/patman/commit.py b/tools/patman/commit.py
index 684225c0e60d..ce37a3d95eb9 100644
--- a/tools/patman/commit.py
+++ b/tools/patman/commit.py
@@ -6,7 +6,7 @@  import collections
 import re
 
 # Separates a tag: at the beginning of the subject from the rest of it
-re_subject_tag = re.compile('([^:\s]*):\s*(.*)')
+re_subject_tag = re.compile(r'([^:\s]*):\s*(.*)')
 
 class Commit:
     """Holds information about a single commit/patch in the series.
diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
index a09ae9c73714..4955f6aaab99 100644
--- a/tools/patman/patchstream.py
+++ b/tools/patman/patchstream.py
@@ -48,7 +48,7 @@  RE_TAG = re.compile('^(Tested-by|Acked-by|Reviewed-by|Patch-cc|Fixes): (.*)')
 RE_COMMIT = re.compile('^commit ([0-9a-f]*)$')
 
 # We detect these since checkpatch doesn't always do it
-RE_SPACE_BEFORE_TAB = re.compile('^[+].* \t')
+RE_SPACE_BEFORE_TAB = re.compile(r'^[+].* \t')
 
 # Match indented lines for changes
 RE_LEADING_WHITESPACE = re.compile(r'^\s')