On 7/13/24 8:10 PM, Jon LaBadie wrote:
On Sun, Jul 14, 2024 at 12:24:02PM +1000, Eyal Lebedinsky wrote:
Following the upgrade f38->f40 I started getting warnings and errors.
This is one.
What is the correct escapes to select strings starting with (AD) and
[AD]?
/usr/local/bin/mythtv-fix-descriptions.py:33: SyntaxWarning: invalid
escape sequence '\['
re_tag = re.compile ("^[\[(]AD[\])] *")
If I remove the escapes I get:
/usr/local/bin/mythtv-fix-descriptions.py:33: FutureWarning: Possible
nested set at position 2
re_tag = re.compile ("^[[(]AD[])] *")
However making it a raw string removes the warning, but will it do the
right thing?
re_tag = re.compile (r"^[\[(]AD[\])] *")
Assuming myth follows the basic RE syntax, square brackets must be
included in a class positionally, not by escaping them. They must
immediately follow the opening square bracket. This should do it.
^[[(]AD[])]
That is not correct. That's the same as his second attempt which gives
the warning. It does work, but throws a warning and will likely stop
working in the future. Python re wants the square bracket to be
escaped. You really only need the opening bracket escaped, but it's
safer and more clear for anyone looking at it if you escape both.
Personally, I would escape the round brackets as well.
--
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue