python3Packages.dateparser: fix regex compatibility

Patch by thmo (THomas Moschny) taken from
https://github.com/scrapinghub/dateparser/issues/1045#issuecomment-1129846022.

Also relaxes the regex version constraint.
This commit is contained in:
Martin Weinelt
2022-09-15 22:13:47 +02:00
parent 504d0e24f3
commit fc7fafcbf0
2 changed files with 19 additions and 0 deletions
@@ -29,7 +29,15 @@ buildPythonPackage rec {
sha256 = "sha256-bDup3q93Zq+pvwsy/lQy2byOMjG6C/+7813hWQMbZRU=";
};
patches = [
./regex-compat.patch
];
postPatch = ''
substituteInPlace setup.py --replace \
'regex !=2019.02.19,!=2021.8.27,<2022.3.15' \
'regex'
# https://github.com/scrapinghub/dateparser/issues/1053
substituteInPlace tests/test_search.py --replace \
"('June 2020', datetime.datetime(2020, 6, datetime.datetime.utcnow().day, 0, 0))," \
@@ -0,0 +1,11 @@
--- a/dateparser/languages/locale.py
+++ b/dateparser/languages/locale.py
@@ -169,7 +169,7 @@ class Locale:
if normalize:
value = list(map(normalize_unicode, value))
pattern = '|'.join(sorted(value, key=len, reverse=True))
- pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d+', pattern)
+ pattern = pattern.replace(r'\d+', r'?P<n>\d+')
pattern = re.compile(r'^(?:{})$'.format(pattern), re.UNICODE | re.IGNORECASE)
relative_dictionary[pattern] = key
return relative_dictionary