diff --git a/homeassistant/components/transmission/__init__.py b/homeassistant/components/transmission/__init__.py index 8f81382012d..6623b68f91e 100644 --- a/homeassistant/components/transmission/__init__.py +++ b/homeassistant/components/transmission/__init__.py @@ -2,11 +2,12 @@ from __future__ import annotations from datetime import timedelta +from functools import partial import logging from typing import Any -import transmissionrpc -from transmissionrpc.error import TransmissionError +import transmission_rpc +from transmission_rpc.error import TransmissionError import voluptuous as vol from homeassistant.config_entries import ConfigEntry, ConfigEntryState @@ -132,7 +133,13 @@ async def get_api(hass, entry): try: api = await hass.async_add_executor_job( - transmissionrpc.Client, host, port, username, password + partial( + transmission_rpc.Client, + username=username, + password=password, + host=host, + port=port, + ) ) _LOGGER.debug("Successfully connected to %s", host) return api @@ -189,7 +196,7 @@ class TransmissionClient: """Initialize the Transmission RPC API.""" self.hass = hass self.config_entry = config_entry - self.tm_api: transmissionrpc.Client = None + self.tm_api: transmission_rpc.Client = None self._tm_data: TransmissionData = None self.unsub_timer = None @@ -332,18 +339,18 @@ class TransmissionClient: class TransmissionData: """Get the latest data and update the states.""" - def __init__(self, hass, config, api: transmissionrpc.Client): + def __init__(self, hass, config, api: transmission_rpc.Client): """Initialize the Transmission RPC API.""" self.hass = hass self.config = config - self.data: transmissionrpc.Session = None + self.data: transmission_rpc.Session = None self.available: bool = True - self._all_torrents: list[transmissionrpc.Torrent] = [] - self._api: transmissionrpc.Client = api - self._completed_torrents: list[transmissionrpc.Torrent] = [] - self._session: transmissionrpc.Session = None - self._started_torrents: list[transmissionrpc.Torrent] = [] - self._torrents: list[transmissionrpc.Torrent] = [] + self._all_torrents: list[transmission_rpc.Torrent] = [] + self._api: transmission_rpc.Client = api + self._completed_torrents: list[transmission_rpc.Torrent] = [] + self._session: transmission_rpc.Session = None + self._started_torrents: list[transmission_rpc.Torrent] = [] + self._torrents: list[transmission_rpc.Torrent] = [] @property def host(self): @@ -356,7 +363,7 @@ class TransmissionData: return f"{DATA_UPDATED}-{self.host}" @property - def torrents(self) -> list[transmissionrpc.Torrent]: + def torrents(self) -> list[transmission_rpc.Torrent]: """Get the list of torrents.""" return self._torrents diff --git a/homeassistant/components/transmission/manifest.json b/homeassistant/components/transmission/manifest.json index 8f4fabc529d..386a92ac83c 100644 --- a/homeassistant/components/transmission/manifest.json +++ b/homeassistant/components/transmission/manifest.json @@ -3,7 +3,7 @@ "name": "Transmission", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/transmission", - "requirements": ["transmissionrpc==0.11"], + "requirements": ["transmission-rpc==3.4.0"], "codeowners": ["@engrbm87", "@JPHutchins"], "iot_class": "local_polling", "loggers": ["transmissionrpc"] diff --git a/homeassistant/components/transmission/sensor.py b/homeassistant/components/transmission/sensor.py index 839060f6a12..7f8128e060c 100644 --- a/homeassistant/components/transmission/sensor.py +++ b/homeassistant/components/transmission/sensor.py @@ -3,7 +3,7 @@ from __future__ import annotations from contextlib import suppress -from transmissionrpc.torrent import Torrent +from transmission_rpc.torrent import Torrent from homeassistant.components.sensor import SensorDeviceClass, SensorEntity from homeassistant.config_entries import ConfigEntry diff --git a/requirements_all.txt b/requirements_all.txt index 3b59257ae74..7984bd5be90 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2471,7 +2471,7 @@ total_connect_client==2022.10 tp-connected==0.0.4 # homeassistant.components.transmission -transmissionrpc==0.11 +transmission-rpc==3.4.0 # homeassistant.components.twinkly ttls==1.5.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index acbfe5e742c..ebfb62d7dbb 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1708,7 +1708,7 @@ toonapi==0.2.1 total_connect_client==2022.10 # homeassistant.components.transmission -transmissionrpc==0.11 +transmission-rpc==3.4.0 # homeassistant.components.twinkly ttls==1.5.1 diff --git a/tests/components/transmission/test_config_flow.py b/tests/components/transmission/test_config_flow.py index 44edc4b28a9..7b1a1a29696 100644 --- a/tests/components/transmission/test_config_flow.py +++ b/tests/components/transmission/test_config_flow.py @@ -2,7 +2,7 @@ from unittest.mock import MagicMock, patch import pytest -from transmissionrpc.error import TransmissionError +from transmission_rpc.error import TransmissionError from homeassistant import config_entries from homeassistant.components import transmission @@ -18,7 +18,7 @@ from tests.common import MockConfigEntry @pytest.fixture(autouse=True) def mock_api(): """Mock an api.""" - with patch("transmissionrpc.Client") as api: + with patch("transmission_rpc.Client") as api: yield api diff --git a/tests/components/transmission/test_init.py b/tests/components/transmission/test_init.py index 60e2d67d75c..da5e6859544 100644 --- a/tests/components/transmission/test_init.py +++ b/tests/components/transmission/test_init.py @@ -3,7 +3,7 @@ from unittest.mock import MagicMock, patch import pytest -from transmissionrpc.error import TransmissionError +from transmission_rpc.error import TransmissionError from homeassistant.components.transmission.const import DOMAIN from homeassistant.config_entries import ConfigEntryState @@ -17,7 +17,7 @@ from tests.common import MockConfigEntry @pytest.fixture(autouse=True) def mock_api(): """Mock an api.""" - with patch("transmissionrpc.Client") as api: + with patch("transmission_rpc.Client") as api: yield api