mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
parent
227330563a
commit
c0a7934828
@ -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
|
||||||
|
|
||||||
|
@ -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"]
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user