Skip to content

Commit

Permalink
python312Packages.webdavclient3: refactor (NixOS#371524)
Browse files Browse the repository at this point in the history
  • Loading branch information
fabaff authored Jan 7, 2025
2 parents c270cdc + f433672 commit dff2105
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 48 deletions.
73 changes: 40 additions & 33 deletions pkgs/development/python-modules/datalad-next/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@
datalad,
datasalad,
fetchFromGitHub,
git,
git-annex,
git,
humanize,
lib,
more-itertools,
openssh,
psutil,
pytestCheckHook,
pythonAtLeast,
setuptools,
openssh,
unzip,
versioneer,
webdavclient3,
Expand Down Expand Up @@ -64,45 +65,51 @@ buildPythonPackage rec {
unzip
];

disabledTests = [
# remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test
"test_uncurl_addurl_unredirected"
"test_uncurl"
"test_uncurl_ria_access"
"test_uncurl_store"
"test_uncurl_remove"
"test_uncurl_testremote"
"test_replace_add_archive_content"
"test_annex_remote"
"test_export_remote"
"test_annex_remote_autorepush"
"test_export_remote_autorepush"
"test_typeweb_annex"
"test_typeweb_annex_uncompressed"
"test_typeweb_export"
"test_submodule_url"
"test_uncurl_progress_reporting_to_annex"
"test_archivist_retrieval"
"test_archivist_retrieval_legacy"
disabledTests =
[
# remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test
"test_uncurl_addurl_unredirected"
"test_uncurl"
"test_uncurl_ria_access"
"test_uncurl_store"
"test_uncurl_remove"
"test_uncurl_testremote"
"test_replace_add_archive_content"
"test_annex_remote"
"test_export_remote"
"test_annex_remote_autorepush"
"test_export_remote_autorepush"
"test_typeweb_annex"
"test_typeweb_annex_uncompressed"
"test_typeweb_export"
"test_submodule_url"
"test_uncurl_progress_reporting_to_annex"
"test_archivist_retrieval"
"test_archivist_retrieval_legacy"

# hardcoded /bin path
"test_auto_if_wanted_data_transfer_path_restriction"
# hardcoded /bin path
"test_auto_if_wanted_data_transfer_path_restriction"

# requires internet access
"test_push_wanted"
"test_auto_data_transfer"
"test_http_url_operations"
"test_transparent_decompression"
"test_compressed_file_stay_compressed"
"test_ls_file_collection_tarfile"
"test_iter_tar"
];
# requires internet access
"test_push_wanted"
"test_auto_data_transfer"
"test_http_url_operations"
"test_transparent_decompression"
"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 = [
# requires internet access
"datalad_next/commands/tests/test_download.py"
"datalad_next/archive_operations/tests/test_tarfile.py"
];

pythonImportsCheck = [ "datalad_next" ];

meta = {
Expand Down
41 changes: 26 additions & 15 deletions pkgs/development/python-modules/webdavclient3/default.nix
Original file line number Diff line number Diff line change
@@ -1,44 +1,55 @@
{
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";
};
}

0 comments on commit dff2105

Please sign in to comment.