depot/third_party/nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix

60 lines
1.3 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fake-useragent
, faker
, fetchFromGitHub
, pytest-mock
, pytestCheckHook
, pythonOlder
, scrapy
}:
buildPythonPackage rec {
pname = "scrapy-fake-useragent";
version = "1.4.4";
format = "setuptools";
disabled = pythonOlder "3.7";
# PyPi tarball is corrupted
src = fetchFromGitHub {
owner = "alecxe";
repo = pname;
rev = "59c20d38c58c76618164760d546aa5b989a79b8b"; # no tags
hash = "sha256-khQMOQrrdHokvNqfaMWqXV7AzwGxTuxaLsZoLkNpZ3k=";
};
postPatch = ''
substituteInPlace pytest.ini \
--replace " --cov=scrapy_fake_useragent --cov-report=term --cov-report=html --fulltrace" ""
'';
propagatedBuildInputs = [
fake-useragent
faker
];
nativeCheckInputs = [
pytest-mock
pytestCheckHook
scrapy
];
pythonImportsCheck = [
"scrapy_fake_useragent"
];
disabledTests = [
# AttributeError: 'RetryUserAgentMiddleware' object has no attribute 'EXCEPTIONS_TO_RETRY'
"test_random_ua_set_on_exception"
];
meta = with lib; {
description = "Random User-Agent middleware based on fake-useragent";
homepage = "https://github.com/alecxe/scrapy-fake-useragent";
changelog = "https://github.com/alecxe/scrapy-fake-useragent/blob/master/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}