Move transports into their own package (#1247)

This moves all transport implementations into a new `transports` package
for cleaner main package & easier to understand project structure.
This commit is contained in:
Teemu R.
2024-11-12 14:40:44 +01:00
committed by GitHub
parent 71ae06fa83
commit 668ba748c5
27 changed files with 159 additions and 102 deletions

View File

@@ -11,7 +11,7 @@ from kasa import (
DeviceConfig,
SmartProtocol,
)
from kasa.protocol import BaseTransport
from kasa.transports.basetransport import BaseTransport
from .device_fixtures import * # noqa: F403
from .discovery_fixtures import * # noqa: F403

View File

@@ -6,7 +6,7 @@ from json import dumps as json_dumps
import pytest
from kasa.xortransport import XorEncryption
from kasa.transports.xortransport import XorEncryption
from .fakeprotocol_iot import FakeIotProtocol
from .fakeprotocol_smart import FakeSmartProtocol, FakeSmartTransport

View File

@@ -3,7 +3,7 @@ import logging
from kasa.deviceconfig import DeviceConfig
from kasa.iotprotocol import IotProtocol
from kasa.protocol import BaseTransport
from kasa.transports.basetransport import BaseTransport
_LOGGER = logging.getLogger(__name__)

View File

@@ -6,8 +6,8 @@ import pytest
from kasa import Credentials, DeviceConfig, SmartProtocol
from kasa.exceptions import SmartErrorCode
from kasa.protocol import BaseTransport
from kasa.smart import SmartChildDevice
from kasa.transports.basetransport import BaseTransport
class FakeSmartProtocol(SmartProtocol):

View File

@@ -5,7 +5,7 @@ from json import loads as json_loads
from kasa import Credentials, DeviceConfig, SmartProtocol
from kasa.experimental.smartcameraprotocol import SmartCameraProtocol
from kasa.protocol import BaseTransport
from kasa.transports.basetransport import BaseTransport
from .fakeprotocol_smart import FakeSmartTransport

View File

@@ -18,7 +18,6 @@ from cryptography.hazmat.primitives.asymmetric import padding as asymmetric_padd
from freezegun.api import FrozenDateTimeFactory
from yarl import URL
from kasa.aestransport import AesEncyptionSession, AesTransport, TransportState
from kasa.credentials import Credentials
from kasa.deviceconfig import DeviceConfig
from kasa.exceptions import (
@@ -28,6 +27,11 @@ from kasa.exceptions import (
_ConnectionError,
)
from kasa.httpclient import HttpClient
from kasa.transports.aestransport import (
AesEncyptionSession,
AesTransport,
TransportState,
)
pytestmark = [pytest.mark.requires_dummy]

View File

@@ -23,7 +23,6 @@ from kasa import (
IotProtocol,
KasaException,
)
from kasa.aestransport import AesEncyptionSession
from kasa.device_factory import (
get_device_class_from_family,
get_device_class_from_sys_info,
@@ -41,7 +40,8 @@ from kasa.discover import (
)
from kasa.exceptions import AuthenticationError, UnsupportedDeviceError
from kasa.iot import IotDevice
from kasa.xortransport import XorEncryption, XorTransport
from kasa.transports.aestransport import AesEncyptionSession
from kasa.transports.xortransport import XorEncryption, XorTransport
from .conftest import (
bulb_iot,

View File

@@ -9,7 +9,6 @@ import aiohttp
import pytest
from yarl import URL
from kasa.aestransport import AesTransport
from kasa.credentials import Credentials
from kasa.deviceconfig import DeviceConfig
from kasa.exceptions import (
@@ -21,14 +20,15 @@ from kasa.exceptions import (
)
from kasa.httpclient import HttpClient
from kasa.iotprotocol import IotProtocol
from kasa.klaptransport import (
from kasa.protocol import DEFAULT_CREDENTIALS, get_default_credentials
from kasa.smartprotocol import SmartProtocol
from kasa.transports.aestransport import AesTransport
from kasa.transports.klaptransport import (
KlapEncryptionSession,
KlapTransport,
KlapTransportV2,
_sha256,
)
from kasa.protocol import DEFAULT_CREDENTIALS, get_default_credentials
from kasa.smartprotocol import SmartProtocol
DUMMY_QUERY = {"foobar": {"foo": "bar", "bar": "foo"}}

View File

@@ -13,21 +13,21 @@ from unittest.mock import AsyncMock
import pytest
from kasa.aestransport import AesTransport
from kasa.credentials import Credentials
from kasa.device import Device
from kasa.deviceconfig import DeviceConfig
from kasa.exceptions import KasaException
from kasa.iot import IotDevice
from kasa.iotprotocol import IotProtocol, _deprecated_TPLinkSmartHomeProtocol
from kasa.klaptransport import KlapTransport, KlapTransportV2
from kasa.protocol import (
BaseProtocol,
BaseTransport,
mask_mac,
redact_data,
)
from kasa.xortransport import XorEncryption, XorTransport
from kasa.transports.aestransport import AesTransport
from kasa.transports.basetransport import BaseTransport
from kasa.transports.klaptransport import KlapTransport, KlapTransportV2
from kasa.transports.xortransport import XorEncryption, XorTransport
from .conftest import device_iot
from .fakeprotocol_iot import FakeIotTransport

View File

@@ -11,7 +11,6 @@ import aiohttp
import pytest
from yarl import URL
from kasa.aestransport import AesEncyptionSession
from kasa.credentials import Credentials
from kasa.deviceconfig import DeviceConfig
from kasa.exceptions import (
@@ -26,6 +25,7 @@ from kasa.experimental.sslaestransport import (
)
from kasa.httpclient import HttpClient
from kasa.protocol import DEFAULT_CREDENTIALS, get_default_credentials
from kasa.transports.aestransport import AesEncyptionSession
# Transport tests are not designed for real devices
pytestmark = [pytest.mark.requires_dummy]