nixpkgs/pkgs/development/python-modules/dateparser/default.nix
Martin Weinelt 0cece84ef3
python3Packages.dateparser: patch flaky test
The dateparser module has a test that works with the current day of the
month and uses it in June 2020. This breaks everytime we build the
package on the 31st of a month, because June only has 30 days.

```
❯ cal 6 2020
      Juni 2020
Mo Di Mi Do Fr Sa So
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
```

https://github.com/scrapinghub/dateparser/issues/1053
2022-09-01 19:36:26 +02:00

74 lines
1.6 KiB
Nix

{ lib
, buildPythonPackage
, isPy3k
, fetchFromGitHub
, python-dateutil
, pytz
, regex
, tzlocal
, hijri-converter
, convertdate
, fasttext
, langdetect
, parameterized
, pytestCheckHook
, GitPython
, ruamel-yaml
}:
buildPythonPackage rec {
pname = "dateparser";
version = "1.1.1";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "scrapinghub";
repo = "dateparser";
rev = "v${version}";
sha256 = "sha256-bDup3q93Zq+pvwsy/lQy2byOMjG6C/+7813hWQMbZRU=";
};
postPatch = ''
# 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))," \
"('June 2020', datetime.datetime(2020, 6, min(30, datetime.datetime.utcnow().day), 0, 0)),"
'';
propagatedBuildInputs = [
# install_requires
python-dateutil pytz regex tzlocal
# extra_requires
hijri-converter convertdate fasttext langdetect
];
checkInputs = [
parameterized
pytestCheckHook
GitPython
ruamel-yaml
];
preCheck = ''
export HOME="$TEMPDIR"
'';
# Upstream only runs the tests in tests/ in CI, others use git clone
pytestFlagsArray = [ "tests" ];
disabledTests = [
# access network
"test_custom_language_detect_fast_text_0"
"test_custom_language_detect_fast_text_1"
];
pythonImportsCheck = [ "dateparser" ];
meta = with lib; {
description = "Date parsing library designed to parse dates from HTML pages";
homepage = "https://github.com/scrapinghub/dateparser";
license = licenses.bsd3;
maintainers = with maintainers; [ dotlambda ];
};
}