From 0061b4520541b4d62f6bfac533c773768f9d62b0 Mon Sep 17 00:00:00 2001 From: Martina Ferrari Date: Mon, 10 Mar 2025 10:34:19 +0100 Subject: [PATCH] Fix "invalid escape sequence" errors Starting with Python 3.12 during byte compilation the following warnings are emitted: /usr/lib/python3/dist-packages/hamster/lib/datetime.py:471: SyntaxWarning: invalid escape sequence '\s' position="exact", separator="\s+", default_day=None, ref="now"): /usr/lib/python3/dist-packages/hamster/lib/datetime.py:472: SyntaxWarning: invalid escape sequence '\s' """Parse a start-end range from text. /usr/lib/python3/dist-packages/hamster/widgets/activityentry.py:381: SyntaxWarning: invalid escape sequence '\s' fragments = [f for f in re.split("[\s|#]", text)] /usr/lib/python3/dist-packages/hamster/widgets/timeinput.py:141: SyntaxWarning: invalid escape sequence '\D' numbers = re.split("\D", str_time) Fix them by using raw strings or quoting as appropriate. Closes: https://github.com/projecthamster/hamster/issues/769 --- src/hamster/lib/datetime.py | 4 ++-- src/hamster/widgets/activityentry.py | 2 +- src/hamster/widgets/timeinput.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hamster/lib/datetime.py b/src/hamster/lib/datetime.py index ffd3d5749..62f301028 100644 --- a/src/hamster/lib/datetime.py +++ b/src/hamster/lib/datetime.py @@ -468,14 +468,14 @@ def format(self, default_day=None, explicit_none=True): @classmethod def parse(cls, text, - position="exact", separator="\s+", default_day=None, ref="now"): + position="exact", separator=r"\s+", default_day=None, ref="now"): """Parse a start-end range from text. position (str): "exact" to match exactly the full text "head" to search only at the beginning of text, and "tail" to search only at the end. - separator (str): regexp pattern (e.g. '\s+') meant to separate the datetime + separator (str): regexp pattern (e.g. r'\\s+') meant to separate the datetime from the rest. Discarded for "exact" position. default_day (date): If start is given without any date (e.g. just hh:mm), diff --git a/src/hamster/widgets/activityentry.py b/src/hamster/widgets/activityentry.py index df68c047f..68fc6330a 100644 --- a/src/hamster/widgets/activityentry.py +++ b/src/hamster/widgets/activityentry.py @@ -378,7 +378,7 @@ def update_suggestions(self, text=""): break - fragments = [f for f in re.split("[\s|#]", text)] + fragments = [f for f in re.split(r"[\s|#]", text)] current_fragment = fragments[-1] if fragments else "" diff --git a/src/hamster/widgets/timeinput.py b/src/hamster/widgets/timeinput.py index b437696c2..4ef652c39 100644 --- a/src/hamster/widgets/timeinput.py +++ b/src/hamster/widgets/timeinput.py @@ -138,7 +138,7 @@ def figure_time(self, str_time): # strip everything non-numeric and consider hours to be first number # and minutes - second number - numbers = re.split("\D", str_time) + numbers = re.split(r"\D", str_time) numbers = [x for x in numbers if x!=""] hours, minutes = None, None