Move transmission to an updated library (#83932)

fixes undefined
This commit is contained in:
Rami Mosleh 2022-12-14 17:36:37 +02:00 committed by GitHub
parent 227330563a
commit c0a7934828
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 28 additions and 21 deletions

View File

@ -2,11 +2,12 @@
from __future__ import annotations from __future__ import annotations
from datetime import timedelta from datetime import timedelta
from functools import partial
import logging import logging
from typing import Any from typing import Any
import transmissionrpc import transmission_rpc
from transmissionrpc.error import TransmissionError from transmission_rpc.error import TransmissionError
import voluptuous as vol import voluptuous as vol
from homeassistant.config_entries import ConfigEntry, ConfigEntryState from homeassistant.config_entries import ConfigEntry, ConfigEntryState
@ -132,7 +133,13 @@ async def get_api(hass, entry):
try: try:
api = await hass.async_add_executor_job( 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) _LOGGER.debug("Successfully connected to %s", host)
return api return api
@ -189,7 +196,7 @@ class TransmissionClient:
"""Initialize the Transmission RPC API.""" """Initialize the Transmission RPC API."""
self.hass = hass self.hass = hass
self.config_entry = config_entry self.config_entry = config_entry
self.tm_api: transmissionrpc.Client = None self.tm_api: transmission_rpc.Client = None
self._tm_data: TransmissionData = None self._tm_data: TransmissionData = None
self.unsub_timer = None self.unsub_timer = None
@ -332,18 +339,18 @@ class TransmissionClient:
class TransmissionData: class TransmissionData:
"""Get the latest data and update the states.""" """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.""" """Initialize the Transmission RPC API."""
self.hass = hass self.hass = hass
self.config = config self.config = config
self.data: transmissionrpc.Session = None self.data: transmission_rpc.Session = None
self.available: bool = True self.available: bool = True
self._all_torrents: list[transmissionrpc.Torrent] = [] self._all_torrents: list[transmission_rpc.Torrent] = []
self._api: transmissionrpc.Client = api self._api: transmission_rpc.Client = api
self._completed_torrents: list[transmissionrpc.Torrent] = [] self._completed_torrents: list[transmission_rpc.Torrent] = []
self._session: transmissionrpc.Session = None self._session: transmission_rpc.Session = None
self._started_torrents: list[transmissionrpc.Torrent] = [] self._started_torrents: list[transmission_rpc.Torrent] = []
self._torrents: list[transmissionrpc.Torrent] = [] self._torrents: list[transmission_rpc.Torrent] = []
@property @property
def host(self): def host(self):
@ -356,7 +363,7 @@ class TransmissionData:
return f"{DATA_UPDATED}-{self.host}" return f"{DATA_UPDATED}-{self.host}"
@property @property
def torrents(self) -> list[transmissionrpc.Torrent]: def torrents(self) -> list[transmission_rpc.Torrent]:
"""Get the list of torrents.""" """Get the list of torrents."""
return self._torrents return self._torrents

View File

@ -3,7 +3,7 @@
"name": "Transmission", "name": "Transmission",
"config_flow": true, "config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/transmission", "documentation": "https://www.home-assistant.io/integrations/transmission",
"requirements": ["transmissionrpc==0.11"], "requirements": ["transmission-rpc==3.4.0"],
"codeowners": ["@engrbm87", "@JPHutchins"], "codeowners": ["@engrbm87", "@JPHutchins"],
"iot_class": "local_polling", "iot_class": "local_polling",
"loggers": ["transmissionrpc"] "loggers": ["transmissionrpc"]

View File

@ -3,7 +3,7 @@ from __future__ import annotations
from contextlib import suppress from contextlib import suppress
from transmissionrpc.torrent import Torrent from transmission_rpc.torrent import Torrent
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry

View File

@ -2471,7 +2471,7 @@ total_connect_client==2022.10
tp-connected==0.0.4 tp-connected==0.0.4
# homeassistant.components.transmission # homeassistant.components.transmission
transmissionrpc==0.11 transmission-rpc==3.4.0
# homeassistant.components.twinkly # homeassistant.components.twinkly
ttls==1.5.1 ttls==1.5.1

View File

@ -1708,7 +1708,7 @@ toonapi==0.2.1
total_connect_client==2022.10 total_connect_client==2022.10
# homeassistant.components.transmission # homeassistant.components.transmission
transmissionrpc==0.11 transmission-rpc==3.4.0
# homeassistant.components.twinkly # homeassistant.components.twinkly
ttls==1.5.1 ttls==1.5.1

View File

@ -2,7 +2,7 @@
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
import pytest import pytest
from transmissionrpc.error import TransmissionError from transmission_rpc.error import TransmissionError
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.components import transmission from homeassistant.components import transmission
@ -18,7 +18,7 @@ from tests.common import MockConfigEntry
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def mock_api(): def mock_api():
"""Mock an api.""" """Mock an api."""
with patch("transmissionrpc.Client") as api: with patch("transmission_rpc.Client") as api:
yield api yield api

View File

@ -3,7 +3,7 @@
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
import pytest import pytest
from transmissionrpc.error import TransmissionError from transmission_rpc.error import TransmissionError
from homeassistant.components.transmission.const import DOMAIN from homeassistant.components.transmission.const import DOMAIN
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
@ -17,7 +17,7 @@ from tests.common import MockConfigEntry
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def mock_api(): def mock_api():
"""Mock an api.""" """Mock an api."""
with patch("transmissionrpc.Client") as api: with patch("transmission_rpc.Client") as api:
yield api yield api