python-duco-connectivity 0.7.0__tar.gz → 0.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_duco_connectivity-0.7.0/src/python_duco_connectivity.egg-info → python_duco_connectivity-0.7.1}/PKG-INFO +1 -1
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/pyproject.toml +1 -1
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/client.py +17 -1
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1/src/python_duco_connectivity.egg-info}/PKG-INFO +1 -1
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_client.py +15 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/LICENSE +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/README.md +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/setup.cfg +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/__init__.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/__main__.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/cli.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/exceptions.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/models.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/py.typed +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/python_duco_connectivity.egg-info/SOURCES.txt +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/python_duco_connectivity.egg-info/dependency_links.txt +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/python_duco_connectivity.egg-info/entry_points.txt +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/python_duco_connectivity.egg-info/requires.txt +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/python_duco_connectivity.egg-info/top_level.txt +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_api_reference.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_cli.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_exceptions.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_local_sample_validation.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_models.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_pytest_live_support.py +0 -0
- {python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_replay_helpers.py +0 -0
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/client.py
RENAMED
|
@@ -2112,7 +2112,23 @@ class DucoClient:
|
|
|
2112
2112
|
|
|
2113
2113
|
async def async_get_time_filter_remaining(self) -> int | None:
|
|
2114
2114
|
"""Return the remaining heat recovery filter time when the box reports it."""
|
|
2115
|
-
|
|
2115
|
+
try:
|
|
2116
|
+
payload = await self.async_get_info(module=InfoModuleSelector.HEAT_RECOVERY)
|
|
2117
|
+
except DucoResponseError as err:
|
|
2118
|
+
if err.status == 400 and err.path == "/info":
|
|
2119
|
+
try:
|
|
2120
|
+
error_payload = json.loads(err.body)
|
|
2121
|
+
except json.JSONDecodeError:
|
|
2122
|
+
pass
|
|
2123
|
+
else:
|
|
2124
|
+
if (
|
|
2125
|
+
isinstance(error_payload, dict)
|
|
2126
|
+
and error_payload.get("Code") == 3
|
|
2127
|
+
and error_payload.get("Result") == "FAILED"
|
|
2128
|
+
):
|
|
2129
|
+
return None
|
|
2130
|
+
raise
|
|
2131
|
+
|
|
2116
2132
|
if not isinstance(payload, dict):
|
|
2117
2133
|
msg = (
|
|
2118
2134
|
"Expected object payload from /info?module=HeatRecovery, got "
|
|
@@ -3692,6 +3692,21 @@ async def test_get_time_filter_remaining_returns_none_when_not_reported() -> Non
|
|
|
3692
3692
|
assert remaining is None
|
|
3693
3693
|
|
|
3694
3694
|
|
|
3695
|
+
async def test_get_time_filter_remaining_returns_none_when_module_unsupported() -> None:
|
|
3696
|
+
"""Heat recovery filter time should stay optional for boxes without that module."""
|
|
3697
|
+
mock_response = _response(
|
|
3698
|
+
status=400,
|
|
3699
|
+
text_payload='{"Code":3,"Result":"FAILED"}',
|
|
3700
|
+
)
|
|
3701
|
+
|
|
3702
|
+
async with aiohttp.ClientSession() as session:
|
|
3703
|
+
client = DucoClient(session=session, host="192.0.2.94")
|
|
3704
|
+
with patch.object(session, "request", _request(mock_response)):
|
|
3705
|
+
remaining = await client.async_get_time_filter_remaining()
|
|
3706
|
+
|
|
3707
|
+
assert remaining is None
|
|
3708
|
+
|
|
3709
|
+
|
|
3695
3710
|
@pytest.mark.parametrize(
|
|
3696
3711
|
("payload", "message"),
|
|
3697
3712
|
[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/__init__.py
RENAMED
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/__main__.py
RENAMED
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/models.py
RENAMED
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/src/duco_connectivity/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_api_reference.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_pytest_live_support.py
RENAMED
|
File without changes
|
{python_duco_connectivity-0.7.0 → python_duco_connectivity-0.7.1}/tests/test_replay_helpers.py
RENAMED
|
File without changes
|