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 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

View File

@ -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"]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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