python312Packages.webdavclient3: refactor (#371524)

This commit is contained in:
Fabian Affolter
2025-01-07 09:28:28 +01:00
committed by GitHub
2 changed files with 66 additions and 48 deletions
@@ -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,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 = {
@@ -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";
};
}