Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
contrib: use a raw string for a regular expression literal that conta…
…ins backslashes in signet/miner Running the miner under python < 3.11 triggered a DeprecationWarning (hidden by default on those versions). Running under python >= 3.12 it generates a SyntaxWarning, which is shown by default. The change is useful for future-proofing the code base, since future python versions will start to exit with a runtime exception. Command to see the warning at runtime under python3.11 (DeprecationWarning, needs "-Walways"): $ python3.11 -Walways ./contrib/signet/miner <BASE>/contrib/signet/miner:33: DeprecationWarning: invalid escape sequence '\d' RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$") 2023-11-15 16:02:49 ERROR Must specify command Command to see the warning at runtime under python3.12 (SyntaxWarning, no modifiers needed): $ python3.12 ./contrib/signet/miner <BASE>/contrib/signet/miner:33: SyntaxWarning: invalid escape sequence '\d' RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$") 2023-11-15 16:03:00 ERROR Must specify command References: From https://docs.python.org/3.8/library/re.html : Regular expressions use the backslash character ('\') [...]. This collides with Python’s usage of the same character for the same purpose in string literals; [...] Also, please note that any invalid escape sequences in Python’s usage of the backslash in string literals now generate a DeprecationWarning and in the future this will become a SyntaxError. The solution is to use Python’s raw string notation for regular expression patterns;
- Loading branch information