Skip to content

Commit 45ba461

Browse files
style(pre-commit): auto fixes from pre-commit.com hooks
1 parent 9030478 commit 45ba461

File tree

4 files changed

+88
-53
lines changed

4 files changed

+88
-53
lines changed

discord/sinks/core.py

Lines changed: 62 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
from __future__ import annotations
2727

2828
import asyncio
29-
from collections.abc import Callable, Coroutine
30-
from functools import partial
3129
import io
3230
import os
3331
import struct
3432
import sys
3533
import threading
3634
import time
35+
from collections.abc import Callable, Coroutine
36+
from functools import partial
3737
from typing import TYPE_CHECKING, Any, TypeVar, overload
3838

3939
from discord.utils import MISSING
@@ -46,10 +46,11 @@
4646

4747
from discord import abc
4848
from discord.types import snowflake
49+
4950
from ..voice.client import VoiceClient
5051

51-
R = TypeVar('R')
52-
P = ParamSpec('P')
52+
R = TypeVar("R")
53+
P = ParamSpec("P")
5354

5455
__all__ = (
5556
"Filters",
@@ -81,12 +82,18 @@ class Filter:
8182
"""
8283

8384
@overload
84-
async def filter(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> bool: ...
85+
async def filter(
86+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
87+
) -> bool: ...
8588

8689
@overload
87-
def filter(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> bool: ...
90+
def filter(
91+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
92+
) -> bool: ...
8893

89-
def filter(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> bool | Coroutine[Any, Any, bool]:
94+
def filter(
95+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
96+
) -> bool | Coroutine[Any, Any, bool]:
9097
"""|maybecoro|
9198
9299
Represents the filter callback.
@@ -110,11 +117,10 @@ def filter(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) ->
110117
:class:`bool`
111118
Whether the filter was successful.
112119
"""
113-
raise NotImplementedError('subclasses must implement this')
120+
raise NotImplementedError("subclasses must implement this")
114121

115122
def cleanup(self) -> None:
116123
"""A function called when the filter is ready for cleanup."""
117-
pass
118124

119125

120126
class Handler:
@@ -126,12 +132,18 @@ class Handler:
126132
"""
127133

128134
@overload
129-
async def handle(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> Any: ...
135+
async def handle(
136+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
137+
) -> Any: ...
130138

131139
@overload
132-
def handle(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> Any: ...
140+
def handle(
141+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
142+
) -> Any: ...
133143

134-
def handle(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) -> Any | Coroutine[Any, Any, Any]:
144+
def handle(
145+
self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData
146+
) -> Any | Coroutine[Any, Any, Any]:
135147
"""|maybecoro|
136148
137149
Represents the handler callback.
@@ -149,11 +161,10 @@ def handle(self, sink: Sink, user: abc.Snowflake, ssrc: int, packet: RawData) ->
149161
packet: :class:`~.RawData`
150162
The raw data packet.
151163
"""
152-
raise NotImplementedError('subclasses must implement this')
164+
raise NotImplementedError("subclasses must implement this")
153165

154166
def cleanup(self) -> None:
155167
"""A function called when the handler is ready for cleanup."""
156-
pass
157168

158169

159170
class Filters:
@@ -383,10 +394,12 @@ def __init_subclass__(cls) -> None:
383394
elif isinstance(value, classmethod):
384395
value = partial(value.__func__, cls)
385396

386-
if not hasattr(value, '__listener__'):
397+
if not hasattr(value, "__listener__"):
387398
continue
388399

389-
event_name = getattr(value, '__listener_name__', elem).removeprefix('on_')
400+
event_name = getattr(value, "__listener_name__", elem).removeprefix(
401+
"on_"
402+
)
390403

391404
try:
392405
listeners[event_name].append(value)
@@ -408,14 +421,14 @@ def __init__(
408421
self.__dispatch_set: set[asyncio.Task[Any]] = set()
409422

410423
def dispatch(self, event: str, *args: Any, **kwargs: Any) -> Any:
411-
event = event.removeprefix('on_')
424+
event = event.removeprefix("on_")
412425

413426
listeners = self.__listeners__.get(event, [])
414427

415428
for listener in listeners:
416429
task = asyncio.create_task(
417430
listener(*args, **kwargs),
418-
name=f'dispatch-{event}:{id(listener):#x}',
431+
name=f"dispatch-{event}:{id(listener):#x}",
419432
)
420433
self.__dispatch_set.add(task)
421434
task.add_done_callback(self.__dispatch_set.remove)
@@ -455,7 +468,9 @@ def add_filter(self, filter: Filter, /) -> None:
455468
"""
456469

457470
if not isinstance(filter, Filter):
458-
raise TypeError(f'expected a Filter object, not {filter.__class__.__name__}')
471+
raise TypeError(
472+
f"expected a Filter object, not {filter.__class__.__name__}"
473+
)
459474
self._filters.append(filter)
460475

461476
def remove_filter(self, filter: Filter, /) -> None:
@@ -487,7 +502,9 @@ def add_handler(self, handler: Handler, /) -> None:
487502
"""
488503

489504
if not isinstance(handler, Handler):
490-
raise TypeError(f'expected a Handler object, not {handler.__class__.__name__}')
505+
raise TypeError(
506+
f"expected a Handler object, not {handler.__class__.__name__}"
507+
)
491508
self._handlers.append(handler)
492509

493510
def remove_handler(self, handler: Handler, /) -> None:
@@ -505,22 +522,16 @@ def remove_handler(self, handler: Handler, /) -> None:
505522
pass
506523

507524
@staticmethod
508-
def listener(event: str = MISSING) -> Callable[[Callable[P, Coroutine[Any, Any, R]]], Callable[P, Coroutine[Any, Any, R]]]:
525+
def listener(
526+
event: str = MISSING,
527+
) -> Callable[
528+
[Callable[P, Coroutine[Any, Any, R]]], Callable[P, Coroutine[Any, Any, R]]
529+
]:
509530
"""Registers a function to be an event listener for this sink.
510531
511532
The events must be a :ref:`coroutine <coroutine>`, if not, :exc:`TypeError` is raised; and
512533
also must be inside a sink class.
513534
514-
Example
515-
-------
516-
517-
.. code-block:: python3
518-
519-
class MySink(Sink):
520-
@Sink.listener()
521-
async def on_member_speaking_state_update(member, ssrc, state):
522-
pass
523-
524535
Parameters
525536
----------
526537
event: :class:`str`
@@ -530,22 +541,37 @@ async def on_member_speaking_state_update(member, ssrc, state):
530541
------
531542
TypeError
532543
The coroutine passed is not actually a coroutine, or the listener is not in a sink class.
544+
545+
Example
546+
-------
547+
548+
.. code-block:: python3
549+
550+
class MySink(Sink):
551+
@Sink.listener()
552+
async def on_member_speaking_state_update(member, ssrc, state):
553+
pass
533554
"""
534555

535-
def decorator(func: Callable[P, Coroutine[Any, Any, R]]) -> Callable[P, Coroutine[Any, Any, R]]:
536-
parts = func.__qualname__.split('.')
556+
def decorator(
557+
func: Callable[P, Coroutine[Any, Any, R]],
558+
) -> Callable[P, Coroutine[Any, Any, R]]:
559+
parts = func.__qualname__.split(".")
537560

538561
if not parts or not len(parts) > 1:
539-
raise TypeError('event listeners must be declared in a Sink class')
562+
raise TypeError("event listeners must be declared in a Sink class")
540563

541564
if parts[-1] != func.__name__:
542-
raise NameError('qualified name and function name mismatch, this should not happen')
565+
raise NameError(
566+
"qualified name and function name mismatch, this should not happen"
567+
)
543568

544569
if not asyncio.iscoroutinefunction(func):
545-
raise TypeError('event listeners must be coroutine functions')
570+
raise TypeError("event listeners must be coroutine functions")
546571

547572
func.__listener__ = True
548573
if event is not MISSING:
549574
func.__listener_name__ = event
550575
return func
576+
551577
return decorator

discord/sinks/enums.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2323
DEALINGS IN THE SOFTWARE.
2424
"""
25+
2526
from __future__ import annotations
2627

2728
from discord.enums import Enum

discord/voice/flags.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2323
DEALINGS IN THE SOFTWARE.
2424
"""
25+
2526
from __future__ import annotations
2627

2728
from discord.flags import BaseFlags, fill_with_flags, flag_value

discord/voice/state.py

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
from discord.object import Object
4040

4141
from .enums import ConnectionFlowState, OpCodes
42-
from .gateway import VoiceWebSocket
4342
from .flags import SpeakingFlags
43+
from .gateway import VoiceWebSocket
4444

4545
if TYPE_CHECKING:
4646
from discord import abc
@@ -129,7 +129,7 @@ def run(self) -> None:
129129
self._do_run()
130130
except Exception:
131131
_log.exception(
132-
'An error ocurred while running the socket reader %s',
132+
"An error ocurred while running the socket reader %s",
133133
self.name,
134134
)
135135
finally:
@@ -143,11 +143,14 @@ def _do_run(self) -> None:
143143

144144
class SocketVoiceRecvReader(SocketReader):
145145
def __init__(
146-
self, state: VoiceConnectionState, *, start_paused: bool = True,
146+
self,
147+
state: VoiceConnectionState,
148+
*,
149+
start_paused: bool = True,
147150
) -> None:
148151
super().__init__(
149152
state,
150-
f'voice-recv-socket-reader:{id(self):#x}',
153+
f"voice-recv-socket-reader:{id(self):#x}",
151154
start_paused=start_paused,
152155
)
153156

@@ -174,7 +177,7 @@ def _do_run(self) -> None:
174177
data = self.state.socket.recv(4096)
175178
except OSError:
176179
_log.debug(
177-
'Error reading from socket in %s, this should be safe to ignore',
180+
"Error reading from socket in %s, this should be safe to ignore",
178181
self,
179182
exc_info=True,
180183
)
@@ -184,7 +187,7 @@ def _do_run(self) -> None:
184187
cb(data)
185188
except Exception:
186189
_log.exception(
187-
'Error while calling %s in %s',
190+
"Error while calling %s in %s",
188191
cb,
189192
self,
190193
)
@@ -196,7 +199,7 @@ def __init__(
196199
) -> None:
197200
super().__init__(
198201
state,
199-
f'voice-socket-event-reader:{id(self):#x}',
202+
f"voice-socket-event-reader:{id(self):#x}",
200203
start_paused=start_paused,
201204
)
202205

@@ -300,24 +303,28 @@ def get_user_by_ssrc(self, ssrc: int) -> abc.Snowflake | None:
300303
if data is None:
301304
return None
302305

303-
user = int(data['user_id'])
304-
return self.guild.get_member(user) or self.client._state.get_user(user) or Object(id=user)
306+
user = int(data["user_id"])
307+
return (
308+
self.guild.get_member(user)
309+
or self.client._state.get_user(user)
310+
or Object(id=user)
311+
)
305312

306313
def ws_hook(self, ws: VoiceWebSocket, msg: dict[str, Any]) -> None:
307-
op = msg['op']
308-
data = msg.get('d', {})
314+
op = msg["op"]
315+
data = msg.get("d", {})
309316

310317
if op == OpCodes.speaking:
311-
ssrc = data['ssrc']
312-
user = int(data['user_id'])
313-
speaking = data['speaking']
318+
ssrc = data["ssrc"]
319+
user = int(data["user_id"])
320+
speaking = data["speaking"]
314321

315322
if ssrc in self.user_ssrc_map:
316-
self.user_ssrc_map[ssrc]['speaking'].value = speaking
323+
self.user_ssrc_map[ssrc]["speaking"].value = speaking
317324
else:
318325
self.user_ssrc_map[ssrc] = {
319-
'user_id': user,
320-
'speaking': SpeakingFlags._from_value(speaking),
326+
"user_id": user,
327+
"speaking": SpeakingFlags._from_value(speaking),
321328
}
322329

323330
@property

0 commit comments

Comments
 (0)