Merge pull request #168 from tjmv/fix-race-cond #644
Annotations
41 errors and 2 warnings
/home/runner/work/pywizlight/pywizlight/pywizlight/_version.py#L1
"""PyPi Version."""
+
__version__ = "0.5.14"
|
/home/runner/work/pywizlight/pywizlight/pywizlight/discovery.py#L1
"""Discover bulbs in a network."""
+
import asyncio
import json
import logging
from asyncio import AbstractEventLoop, BaseTransport, DatagramTransport, Future
from typing import Any, List, Optional, Tuple, cast
|
/home/runner/work/pywizlight/pywizlight/pywizlight/bulblibrary.py#L9
DW -- Dimmable White (most filament bulbs)
RGB -- Fullstack bulb
1C -- Specific to the hardware - defines PWM frequency + way of controlling CCT temperature
31 -- Related to the hardware revision
"""
+
import dataclasses
import logging
from enum import Enum
from typing import List, Optional
|
/home/runner/work/pywizlight/pywizlight/pywizlight/cli.py#L1
"""Command-line interface to interact with wizlight devices."""
+
import asyncio
from functools import wraps
from typing import Any, Callable, Coroutine, TypeVar
import click
|
/home/runner/work/pywizlight/pywizlight/pywizlight/models.py#L1
"""Models."""
+
import dataclasses
from typing import Dict, List
@dataclasses.dataclass(frozen=True)
|
/home/runner/work/pywizlight/pywizlight/pywizlight/protocol.py#L1
"""pywizlight integration protocol."""
+
import asyncio
import logging
from typing import Callable, Optional, Tuple
_LOGGER = logging.getLogger(__name__)
|
/home/runner/work/pywizlight/pywizlight/pywizlight/push_manager.py#L1
"""pywizlight integration push updates."""
+
import asyncio
import json
import logging
from typing import Callable, Dict, Optional, Tuple, cast
|
/home/runner/work/pywizlight/pywizlight/pywizlight/rgbcw.py#L1
"""Manages the RGBCW color."""
+
import logging
from math import atan2, cos, pi
from typing import Iterable, Tuple
from .vec import (
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_bad_json_1_0_0.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white_1_11_7.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white_1_8_0.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_hero_1_23_70.py#L1
"""Tests for the Bulb API with a Hero."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_invalid_module_name.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_16_64.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import PilotBuilder, wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb.py#L1
"""Tests for the Bulb API."""
+
from typing import AsyncGenerator
from unittest.mock import patch
import pytest
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_21_4.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import PilotBuilder, wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_missing_kelvin_range.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_no_module_name.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_25_0.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import PilotBuilder, wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_rgbww_1_17_1.py#L1
"""Tests for the Bulb API."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_rgbw_1_21_4.py#L1
"""Tests for the Bulb API with a rgbtw bulb."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_socket_1_16_71.py#L1
"""Tests for the Bulb API with a socket."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_socket.py#L1
"""Tests for the Bulb API with a socket."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/bulb.py#L1
"""pywizlight integration."""
+
import asyncio
import contextlib
import json
import logging
import time
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_squire_1_21_40.py#L1
"""Tests for the Bulb API with a Squire."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import PilotBuilder, wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white_1_18_0.py#L1
"""Tests for the Bulb API with a light strip."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white_1_10_0.py#L1
"""Tests for the Bulb API with a turnable white device with 1.10.0 firmware."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_unknown_1_8_0.py#L1
"""Tests for the Bulb API with an unknown bulb."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_wall_switch_1_16_68.py#L1
"""Tests for the Bulb API with a wall switch dimmer."""
+
from typing import AsyncGenerator
import pytest
from pywizlight import wizlight
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_scenes.py#L1
"""Tests for the Scenes."""
-
import pytest
from pywizlight import scenes
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_utils.py#L1
"""Tests for the Utils."""
-
import pytest
from pywizlight import utils
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_discovery.py#L1
"""Tests for discovery."""
+
import asyncio
import contextlib
import logging
from typing import AsyncGenerator, Tuple
from unittest.mock import MagicMock, patch
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_discovery.py#L19
@pytest.fixture
async def mock_discovery_aio_protocol() -> AsyncGenerator:
"""Fixture to mock an asyncio connection."""
loop = asyncio.get_running_loop()
- future: asyncio.Future[
- Tuple[asyncio.DatagramProtocol, BroadcastProtocol]
- ] = asyncio.Future()
+ future: asyncio.Future[Tuple[asyncio.DatagramProtocol, BroadcastProtocol]] = (
+ asyncio.Future()
+ )
async def _wait_for_connection():
transport, protocol = await future
await asyncio.sleep(0)
await asyncio.sleep(0)
|
/home/runner/work/pywizlight/pywizlight/setup.py#L1
"""Setup for pywizlight."""
+
import os
import re
import setuptools
|
/home/runner/work/pywizlight/pywizlight/pywizlight/vec.py#L1
"""Helper class with some math.
A bunch of utility functions, just so we don't have to bring in any external dependencies.
"""
+
from math import cos, sin, sqrt
from operator import add, mul, sub
from typing import Tuple
# a small value, really close to zero, more than adequate for our 3 orders of magnitude
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_push_manager.py#L1
"""Tests for the Bulb API with a socket."""
+
import asyncio
import logging
from typing import AsyncGenerator, Optional, cast
from unittest.mock import patch
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/fake_bulb.py#L1
"""Start up a fake bulb to test features without a real bulb."""
+
import asyncio
import json
from typing import Any, Callable, Dict, Tuple, cast
from pywizlight.protocol import WizProtocol
|
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/fake_bulb.py#L833
)
handler.transport = cast(asyncio.DatagramTransport, transport_proto[0])
return transport_proto
-async def make_udp_fake_bulb_push_server() -> Tuple[
- asyncio.BaseTransport, asyncio.BaseProtocol
-]:
+async def make_udp_fake_bulb_push_server() -> (
+ Tuple[asyncio.BaseTransport, asyncio.BaseProtocol]
+):
"""Configure a fake push instance."""
handler = BulbUDPRequestHandler()
transport_proto = await asyncio.get_event_loop().create_datagram_endpoint(
lambda: WizProtocol(on_response=lambda resp, addr: None),
local_addr=("127.0.0.1", 0),
|
Run linters and tests
Process completed with exit code 1.
|
Run linters and tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/setup-python@v1, samuelmeuli/lint-action@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Run linters and tests
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/setup-python@v1, samuelmeuli/lint-action@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|