Commit 6a6536df authored by Fabian Affolter's avatar Fabian Affolter
Browse files

python312Packages.webdavclient3: refactor

- use hash
- enable tests
- migrate to PEP517
parent b30f97d8
Loading
Loading
Loading
Loading
+26 −15
Original line number Diff line number Diff line
{
  buildPythonPackage,
  fetchPypi,
  isPy27,
  lib,
  python-dateutil,
  buildPythonPackage,
  fetchFromGitHub,
  lxml,
  python-dateutil,
  pythonOlder,
  requests,
  setuptools,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "webdavclient3";
  version = "3.14.6";
  format = "setuptools";
  pyproject = true;

  disabled = isPy27;
  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    sha256 = "bcd22586bb0d58abc26ca56054fd04228e704bd36073c3080f4597c1556c880d";
  src = fetchFromGitHub {
    owner = "ezhov-evgeny";
    repo = "webdav-client-python-3";
    tag = "v${version}";
    hash = "sha256-vtZTBfq3PVrapv3ivYc18+71y7SPpJ+Mwk5qGe/DdTM=";
  };

  propagatedBuildInputs = [
    python-dateutil
  build-system = [ setuptools ];

  dependencies = [
    lxml
    python-dateutil
    requests
  ];

  nativeCheckInputs = [ pytestCheckHook ];

  # disable tests completely, as most of them fail due to urllib3 not being able to establish a http connection
  doCheck = false;

  pythonImportsCheck = [ "webdav3.client" ];

  disabledTestPaths = [
    # Tests require a local WebDAV instance
    "tests/test_client_it.py"
    "tests/test_client_resource_it.py"
    "tests/test_cyrilic_client_it.py"
    "tests/test_multi_client_it.py"
    "tests/test_tailing_slash_client_it.py"
  ];

  meta = with lib; {
    description = "Easy to use WebDAV Client for Python 3.x";
    mainProgram = "wdc";
    homepage = "https://github.com/ezhov-evgeny/webdav-client-python-3";
    license = licenses.mit;
    maintainers = with maintainers; [ dmrauh ];
    mainProgram = "wdc";
  };
}