Yueh-Shun Li 76e2a397c2 treewide: pytestFlagsArray -> pytestFlags and join flag and option argument
This treewide change targets Python packages
that specifies pytest flags with pytestFlagsArray,
and whose flags cannot be consructed by other pytestCheckHook-honoured arguments.

Use the __structuredAttrs-agnostic argument pytestFlags
instead of the deprecated pytestFlagsArray.

For flags with option arguments,
join each flag and their option argument into a single command-line argument
following POSIX Utility Argument Syntax[1]
for easier overriding (remove/replace).

Examples:

* [ "-W" "ignore:message:WarningClass" ] ->
  [ "-Wignore:message:WarningClass" ]

* [ "--reruns" "3" ] ->
  [ "--reruns=3" ]

[1]: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html
2025-06-16 01:02:16 +08:00

63 lines
1.4 KiB
Nix

{
lib,
aiohttp,
attrs,
buildPythonPackage,
defusedxml,
fetchFromGitHub,
pythonOlder,
pytest-asyncio,
pytestCheckHook,
setuptools,
pytest-vcr,
syrupy,
}:
buildPythonPackage rec {
pname = "connect-box";
version = "0.4.0";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "home-assistant-ecosystem";
repo = "python-connect-box";
tag = version;
hash = "sha256-zUvZRnxVzg9izvUbp7QVcyu6Bw3dUXHOr0kOQRWEZVc=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
aiohttp
attrs
defusedxml
];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
pytest-vcr
syrupy
];
pythonImportsCheck = [ "connect_box" ];
pytestFlags = [ "--vcr-record=none" ];
meta = with lib; {
description = "Interact with a Compal CH7465LG cable modem/router";
longDescription = ''
Python Client for interacting with the cable modem/router Compal
CH7465LG which is provided under different names by various ISP
in Europe, e.g., UPC Connect Box (CH), Irish Virgin Media Super
Hub 3.0 (IE), Ziggo Connectbox (NL) or Unitymedia Connect Box (DE).
'';
homepage = "https://github.com/home-assistant-ecosystem/python-connect-box";
changelog = "https://github.com/home-assistant-ecosystem/python-connect-box/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}