diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 612e038..68bf227 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -38,7 +38,7 @@ repos: - id: pyupgrade args: [--py39-plus] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.0 + rev: v0.11.0 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/examples/glib-list-names.py b/examples/glib-list-names.py index 0f2209f..649926c 100755 --- a/examples/glib-list-names.py +++ b/examples/glib-list-names.py @@ -7,9 +7,10 @@ sys.path.append(os.path.abspath(os.path.dirname(__file__) + "/..")) import json import signal +from gi.repository import GLib + from dbus_fast import Message from dbus_fast.glib import MessageBus -from gi.repository import GLib main = GLib.MainLoop() bus = MessageBus().connect_sync() diff --git a/src/dbus_fast/constants.py b/src/dbus_fast/constants.py index 29280f6..ff8691b 100644 --- a/src/dbus_fast/constants.py +++ b/src/dbus_fast/constants.py @@ -108,15 +108,9 @@ class ErrorType(str, Enum): :seealso: http://man7.org/linux/man-pages/man3/sd-bus-errors.3.html """ - SERVICE_ERROR = ( - "com.dubstepdish.dbus.next.ServiceError" - ) #: A custom error to indicate an exported service threw an exception. - INTERNAL_ERROR = ( - "com.dubstepdish.dbus.next.InternalError" - ) #: A custom error to indicate something went wrong with the library. - CLIENT_ERROR = ( - "com.dubstepdish.dbus.next.ClientError" - ) #: A custom error to indicate something went wrong with the client. + SERVICE_ERROR = "com.dubstepdish.dbus.next.ServiceError" #: A custom error to indicate an exported service threw an exception. + INTERNAL_ERROR = "com.dubstepdish.dbus.next.InternalError" #: A custom error to indicate something went wrong with the library. + CLIENT_ERROR = "com.dubstepdish.dbus.next.ClientError" #: A custom error to indicate something went wrong with the client. FAILED = "org.freedesktop.DBus.Error.Failed" NO_MEMORY = "org.freedesktop.DBus.Error.NoMemory" diff --git a/src/dbus_fast/introspection.py b/src/dbus_fast/introspection.py index 98da964..8f6bc2c 100644 --- a/src/dbus_fast/introspection.py +++ b/src/dbus_fast/introspection.py @@ -564,8 +564,8 @@ class Node: elem.text = i + " " if not elem.tail or not elem.tail.strip(): elem.tail = i - for elem in elem: - indent(elem, level + 1) + for elem_ in elem: + indent(elem_, level + 1) if not elem.tail or not elem.tail.strip(): elem.tail = i elif level and (not elem.tail or not elem.tail.strip()): diff --git a/src/dbus_fast/service.py b/src/dbus_fast/service.py index 4a1b3cf..a07c248 100644 --- a/src/dbus_fast/service.py +++ b/src/dbus_fast/service.py @@ -33,8 +33,7 @@ HandlerType = Callable[[Message, SendReply], None] class _MethodCallbackProtocol(Protocol): - def __call__(self, interface: ServiceInterface, *args: Any) -> Any: - ... + def __call__(self, interface: ServiceInterface, *args: Any) -> Any: ... class _Method: @@ -381,7 +380,7 @@ class ServiceInterface: self.__handlers_by_name_signature: dict[ BaseMessageBus, dict[str, tuple[_Method, HandlerType]] ] = {} - for name, member in inspect.getmembers(type(self)): + for _, member in inspect.getmembers(type(self)): member_dict = getattr(member, "__dict__", {}) if type(member) is _Property: # XXX The getter and the setter may show up as different @@ -668,8 +667,8 @@ class ServiceInterface: else: try: result[prop.name] = Variant(prop.signature, value) - except SignatureBodyMismatchError as e: - result_error = e + except SignatureBodyMismatchError as exc: + result_error = exc del result[prop.name] if any(v is None for v in result.values()): diff --git a/tests/benchmarks/test_marshall.py b/tests/benchmarks/test_marshall.py index 17d333f..3aa6f4c 100644 --- a/tests/benchmarks/test_marshall.py +++ b/tests/benchmarks/test_marshall.py @@ -1,6 +1,7 @@ -from dbus_fast import Message from pytest_codspeed import BenchmarkFixture +from dbus_fast import Message + message = Message( destination="org.bluez", path="/", diff --git a/tests/benchmarks/test_unmarshall.py b/tests/benchmarks/test_unmarshall.py index 7c65e7c..45f785c 100644 --- a/tests/benchmarks/test_unmarshall.py +++ b/tests/benchmarks/test_unmarshall.py @@ -1,8 +1,9 @@ import io -from dbus_fast._private.unmarshaller import Unmarshaller from pytest_codspeed import BenchmarkFixture +from dbus_fast._private.unmarshaller import Unmarshaller + def test_unmarshall_bluez_rssi_message(benchmark: BenchmarkFixture) -> None: bluez_rssi_message = ( diff --git a/tests/client/test_aio.py b/tests/client/test_aio.py index 49e0d15..5e4d5e5 100644 --- a/tests/client/test_aio.py +++ b/tests/client/test_aio.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import aio from dbus_fast.service import ServiceInterface diff --git a/tests/client/test_methods.py b/tests/client/test_methods.py index 7222ea4..23dda4a 100644 --- a/tests/client/test_methods.py +++ b/tests/client/test_methods.py @@ -3,13 +3,13 @@ import sys from logging.handlers import QueueHandler from queue import SimpleQueue -import dbus_fast.introspection as intr import pytest + +import dbus_fast.introspection as intr from dbus_fast import DBusError, aio, glib from dbus_fast.message import MessageFlag from dbus_fast.service import ServiceInterface, method from dbus_fast.signature import Variant - from tests.util import check_gi_repository, skip_reason_no_gi has_gi = check_gi_repository() diff --git a/tests/client/test_properties.py b/tests/client/test_properties.py index e92efc7..eab9073 100644 --- a/tests/client/test_properties.py +++ b/tests/client/test_properties.py @@ -1,10 +1,10 @@ import sys import pytest + from dbus_fast import DBusError, Message, aio, glib from dbus_fast.service import PropertyAccess, ServiceInterface, dbus_property from dbus_fast.signature import Variant - from tests.util import check_gi_repository, skip_reason_no_gi has_gi = check_gi_repository() diff --git a/tests/client/test_signals.py b/tests/client/test_signals.py index 9f8acbd..65299a2 100644 --- a/tests/client/test_signals.py +++ b/tests/client/test_signals.py @@ -1,6 +1,7 @@ import asyncio import pytest + from dbus_fast import Message from dbus_fast.aio import MessageBus from dbus_fast.constants import RequestNameReply diff --git a/tests/service/test_export.py b/tests/service/test_export.py index 232e9a0..74bcb4d 100644 --- a/tests/service/test_export.py +++ b/tests/service/test_export.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import Message, MessageType from dbus_fast import introspection as intr from dbus_fast.aio import MessageBus diff --git a/tests/service/test_methods.py b/tests/service/test_methods.py index b15c8b9..9f7d719 100644 --- a/tests/service/test_methods.py +++ b/tests/service/test_methods.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import ( DBusError, ErrorType, diff --git a/tests/service/test_properties.py b/tests/service/test_properties.py index cd826e6..f587cb3 100644 --- a/tests/service/test_properties.py +++ b/tests/service/test_properties.py @@ -1,6 +1,7 @@ import asyncio import pytest + from dbus_fast import ( DBusError, ErrorType, diff --git a/tests/service/test_signals.py b/tests/service/test_signals.py index 595ec34..8485d24 100644 --- a/tests/service/test_signals.py +++ b/tests/service/test_signals.py @@ -1,6 +1,7 @@ import asyncio import pytest + from dbus_fast import Message, MessageType from dbus_fast.aio import MessageBus from dbus_fast.constants import PropertyAccess diff --git a/tests/service/test_standard_interfaces.py b/tests/service/test_standard_interfaces.py index 8e5e19a..37e338e 100644 --- a/tests/service/test_standard_interfaces.py +++ b/tests/service/test_standard_interfaces.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import Message, MessageType from dbus_fast import introspection as intr from dbus_fast.aio import MessageBus diff --git a/tests/test_address_parser.py b/tests/test_address_parser.py index bf1c7db..c162ca2 100644 --- a/tests/test_address_parser.py +++ b/tests/test_address_parser.py @@ -2,6 +2,7 @@ import os from unittest.mock import patch import pytest + from dbus_fast._private.address import ( get_bus_address, get_session_bus_address, diff --git a/tests/test_aio_low_level.py b/tests/test_aio_low_level.py index 507211a..3335202 100644 --- a/tests/test_aio_low_level.py +++ b/tests/test_aio_low_level.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import Message, MessageFlag, MessageType from dbus_fast.aio import MessageBus diff --git a/tests/test_aio_multi_flags.py b/tests/test_aio_multi_flags.py index adeea46..eeaba09 100644 --- a/tests/test_aio_multi_flags.py +++ b/tests/test_aio_multi_flags.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast.aio import MessageBus from dbus_fast.service import ServiceInterface, method diff --git a/tests/test_auth.py b/tests/test_auth.py index 676dc96..81f3a90 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -1,6 +1,7 @@ """This tests setting a hardcoded UID in AuthExternal""" import pytest + from dbus_fast.auth import ( UID_NOT_SPECIFIED, AuthAnnonymous, diff --git a/tests/test_big_message.py b/tests/test_big_message.py index b9639d0..9dea47a 100644 --- a/tests/test_big_message.py +++ b/tests/test_big_message.py @@ -1,9 +1,9 @@ import sys import pytest + from dbus_fast import Message, MessageType, aio, glib from dbus_fast.service import ServiceInterface, method - from tests.util import check_gi_repository, skip_reason_no_gi has_gi = check_gi_repository() diff --git a/tests/test_disconnect.py b/tests/test_disconnect.py index 5bf32fb..e4bd9bc 100644 --- a/tests/test_disconnect.py +++ b/tests/test_disconnect.py @@ -2,6 +2,7 @@ import asyncio from unittest.mock import patch import pytest + from dbus_fast import Message from dbus_fast.aio import MessageBus diff --git a/tests/test_fd_passing.py b/tests/test_fd_passing.py index a3ee36f..79f113f 100644 --- a/tests/test_fd_passing.py +++ b/tests/test_fd_passing.py @@ -3,6 +3,7 @@ import os import pytest + from dbus_fast import Message, MessageType from dbus_fast.aio import MessageBus from dbus_fast.service import ServiceInterface, dbus_property, method, signal diff --git a/tests/test_glib_low_level.py b/tests/test_glib_low_level.py index ae230fd..4121133 100644 --- a/tests/test_glib_low_level.py +++ b/tests/test_glib_low_level.py @@ -1,9 +1,9 @@ import sys import pytest + from dbus_fast import Message, MessageFlag, MessageType from dbus_fast.glib import MessageBus - from tests.util import check_gi_repository, skip_reason_no_gi has_gi = check_gi_repository() diff --git a/tests/test_marshaller.py b/tests/test_marshaller.py index e1e28ad..7c68866 100644 --- a/tests/test_marshaller.py +++ b/tests/test_marshaller.py @@ -5,6 +5,7 @@ from enum import Enum from typing import Any import pytest + from dbus_fast import Message, MessageFlag, MessageType, SignatureTree, Variant from dbus_fast._private._cython_compat import FakeCython from dbus_fast._private.constants import BIG_ENDIAN, LITTLE_ENDIAN @@ -233,9 +234,9 @@ def test_unmarshalling_with_table(unmarshall_table): "flags", "serial", ]: - assert getattr(unmarshaller.message, attr) == getattr( - message, attr - ), f"attr doesnt match: {attr}" + assert getattr(unmarshaller.message, attr) == getattr(message, attr), ( + f"attr doesnt match: {attr}" + ) def test_unmarshall_can_resume(): diff --git a/tests/test_request_name.py b/tests/test_request_name.py index 16430f0..57758f8 100644 --- a/tests/test_request_name.py +++ b/tests/test_request_name.py @@ -1,6 +1,7 @@ import sys import pytest + from dbus_fast import ( Message, MessageType, @@ -10,7 +11,6 @@ from dbus_fast import ( aio, glib, ) - from tests.util import check_gi_repository, skip_reason_no_gi has_gi = check_gi_repository() diff --git a/tests/test_send_reply.py b/tests/test_send_reply.py index 6d44123..616ff8f 100644 --- a/tests/test_send_reply.py +++ b/tests/test_send_reply.py @@ -2,6 +2,7 @@ import os from unittest.mock import patch import pytest + from dbus_fast.constants import ErrorType, MessageType from dbus_fast.errors import DBusError from dbus_fast.message import Message diff --git a/tests/test_signature.py b/tests/test_signature.py index f040404..61090a5 100644 --- a/tests/test_signature.py +++ b/tests/test_signature.py @@ -1,4 +1,5 @@ import pytest + from dbus_fast import SignatureBodyMismatchError, SignatureTree, Variant from dbus_fast._private.util import signature_contains_type diff --git a/tests/test_tcp_address.py b/tests/test_tcp_address.py index 8e36bf6..2d7dd83 100644 --- a/tests/test_tcp_address.py +++ b/tests/test_tcp_address.py @@ -3,6 +3,7 @@ import os from contextlib import suppress import pytest + from dbus_fast import Message from dbus_fast._private.address import parse_address from dbus_fast.aio import MessageBus diff --git a/tests/test_unpack_variants.py b/tests/test_unpack_variants.py index 8868584..7f8da7a 100644 --- a/tests/test_unpack_variants.py +++ b/tests/test_unpack_variants.py @@ -1,6 +1,7 @@ """Test unpack variants.""" import pytest + from dbus_fast.signature import Variant from dbus_fast.unpack import unpack_variants diff --git a/tests/test_validators.py b/tests/test_validators.py index f7bfbbf..f67cf80 100644 --- a/tests/test_validators.py +++ b/tests/test_validators.py @@ -66,13 +66,13 @@ def test_interface_name_validator(): ] for name in valid_names: - assert is_interface_name_valid( - name - ), f'interface name should be valid: "{name}"' + assert is_interface_name_valid(name), ( + f'interface name should be valid: "{name}"' + ) for name in invalid_names: - assert not is_interface_name_valid( - name - ), f'interface name should be invalid: "{name}"' + assert not is_interface_name_valid(name), ( + f'interface name should be invalid: "{name}"' + ) def test_member_name_validator(): @@ -82,6 +82,6 @@ def test_member_name_validator(): for member in valid_members: assert is_member_name_valid(member), f'member name should be valid: "{member}"' for member in invalid_members: - assert not is_member_name_valid( - member - ), f'member name should be invalid: "{member}"' + assert not is_member_name_valid(member), ( + f'member name should be invalid: "{member}"' + )