Unverified Commit dff21050 authored by Fabian Affolter's avatar Fabian Affolter Committed by GitHub
Browse files

python312Packages.webdavclient3: refactor (#371524)

parents c270cdce f433672f
Loading
Loading
Loading
Loading
+40 −33
Original line number Diff line number Diff line
@@ -4,15 +4,16 @@
  datalad,
  datasalad,
  fetchFromGitHub,
  git,
  git-annex,
  git,
  humanize,
  lib,
  more-itertools,
  openssh,
  psutil,
  pytestCheckHook,
  pythonAtLeast,
  setuptools,
  openssh,
  unzip,
  versioneer,
  webdavclient3,
@@ -64,7 +65,8 @@ buildPythonPackage rec {
    unzip
  ];

  disabledTests = [
  disabledTests =
    [
      # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test
      "test_uncurl_addurl_unredirected"
      "test_uncurl"
@@ -96,6 +98,10 @@ buildPythonPackage rec {
      "test_compressed_file_stay_compressed"
      "test_ls_file_collection_tarfile"
      "test_iter_tar"
    ]
    ++ lib.optionals (pythonAtLeast "3.13") [
      # RuntimeError
      "test_tree_with_broken_symlinks"
    ];

  disabledTestPaths = [
@@ -103,6 +109,7 @@ buildPythonPackage rec {
    "datalad_next/commands/tests/test_download.py"
    "datalad_next/archive_operations/tests/test_tarfile.py"
  ];

  pythonImportsCheck = [ "datalad_next" ];

  meta = {
+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";
  };
}