wslink 2.3.0__py3-none-any.whl → 2.3.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
wslink/emitter.py CHANGED
@@ -1,26 +1,36 @@
1
- from typing import TypeVar, Generic, LiteralString
2
-
3
1
  import asyncio
4
2
  import functools
5
3
 
6
4
 
7
- T = TypeVar("T", bound=LiteralString)
8
-
9
-
10
- class EventEmitter(Generic[T]):
5
+ class EventEmitter:
11
6
  def __init__(self):
12
7
  self._listeners = {}
13
8
 
14
9
  def clear(self):
15
10
  self._listeners = {}
16
11
 
17
- def __call__(self, event: T, *args, **kwargs):
12
+ def __call__(self, event, *args, **kwargs):
18
13
  self.emit(event, *args, **kwargs)
19
14
 
20
- def __getattr__(self, name: T):
15
+ def __getattr__(self, name):
21
16
  return functools.partial(self.emit, name)
22
17
 
23
- def emit(self, event: T, *args, **kwargs):
18
+ def exception(self, *args, **kwargs):
19
+ self.emit("exception", *args, **kwargs)
20
+
21
+ def error(self, *args, **kwargs):
22
+ self.emit("error", *args, **kwargs)
23
+
24
+ def critical(self, *args, **kwargs):
25
+ self.emit("critical", *args, **kwargs)
26
+
27
+ def info(self, *args, **kwargs):
28
+ self.emit("info", *args, **kwargs)
29
+
30
+ def debug(self, *args, **kwargs):
31
+ self.emit("debug", *args, **kwargs)
32
+
33
+ def emit(self, event, *args, **kwargs):
24
34
  listeners = self._listeners.get(event)
25
35
  if listeners is None:
26
36
  return
@@ -36,7 +46,7 @@ class EventEmitter(Generic[T]):
36
46
  else:
37
47
  listener(*args, **kwargs)
38
48
 
39
- def add_event_listener(self, event: T, listener):
49
+ def add_event_listener(self, event, listener):
40
50
  listeners = self._listeners.get(event)
41
51
  if listeners is None:
42
52
  listeners = set()
@@ -44,7 +54,7 @@ class EventEmitter(Generic[T]):
44
54
 
45
55
  listeners.add(listener)
46
56
 
47
- def remove_event_listener(self, event: T, listener):
57
+ def remove_event_listener(self, event, listener):
48
58
  listeners = self._listeners.get(event)
49
59
  if listeners is None:
50
60
  return
@@ -52,10 +62,10 @@ class EventEmitter(Generic[T]):
52
62
  if listener in listeners:
53
63
  listeners.remove(listener)
54
64
 
55
- def has(self, event: T):
65
+ def has(self, event):
56
66
  return self.listeners_count(event) > 0
57
67
 
58
- def listeners_count(self, event: T):
68
+ def listeners_count(self, event):
59
69
  listeners = self._listeners.get(event)
60
70
  if listeners is None:
61
71
  return 0
wslink/websocket.py CHANGED
@@ -6,8 +6,6 @@ ServerProtocol to hook all the needed LinkProtocols together.
6
6
 
7
7
  import logging
8
8
  import asyncio
9
- from typing import Literal
10
- from dataclasses import dataclass
11
9
 
12
10
  from wslink import register as exportRpc
13
11
  from wslink import schedule_callback
@@ -120,9 +118,6 @@ class NetworkMonitor:
120
118
  await self.event.wait()
121
119
 
122
120
 
123
- LogEmitterEvents = Literal["exception", "error", "critical", "info", "debug"]
124
-
125
-
126
121
  class ServerProtocol(object):
127
122
  """
128
123
  Defines the core server protocol for wslink. Gathers a list of LinkProtocol
@@ -131,7 +126,7 @@ class ServerProtocol(object):
131
126
 
132
127
  def __init__(self):
133
128
  self.network_monitor = NetworkMonitor()
134
- self.log_emitter = EventEmitter[LogEmitterEvents]()
129
+ self.log_emitter = EventEmitter()
135
130
  self.linkProtocols = []
136
131
  self.secret = None
137
132
  self.initialize()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wslink
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Python/JavaScript library for communicating over WebSocket
5
5
  Home-page: https://github.com/kitware/wslink
6
6
  Author: Kitware, Inc.
@@ -1,7 +1,7 @@
1
1
  wslink/LICENSE,sha256=I44UH7kDVqxDLnnlOWw_hFL2Fz7RjQ_4vPzZv9NYgTU,1483
2
2
  wslink/__init__.py,sha256=qdLGVhzpEXBoraTnLr5S-8bX9oK8pZCQWe8rZRlwAco,2946
3
3
  wslink/chunking.py,sha256=1DJlGG6fjknGFrqPOtqUUc5tCrijldP7Kdx56d5e3Wg,7337
4
- wslink/emitter.py,sha256=4nm5fOwfvSb5tHq5cZtUsF8YNpuphl05QZQzNHljfRU,1669
4
+ wslink/emitter.py,sha256=vgpA9pmqMLLPm7UDVLfbDY2mgvm21pngsRmBhYT0GcU,1971
5
5
  wslink/launcher.py,sha256=8VMs3juObLkyGYQFNLjMoo4qFpKIcxWz0kS-af-DKO4,21170
6
6
  wslink/protocol.py,sha256=IUvdYzXaaKP4qllJps6uQ8zvbipbH6MVwU6o6f60Kuc,17265
7
7
  wslink/publish.py,sha256=Xyv9piZT4HxO5l_SA7zeReH8t6tisVHUgU57Hjzgkcg,1595
@@ -9,7 +9,7 @@ wslink/relay.py,sha256=E8Lzu2Ay7KbOheN1-ArAZawo8lLqdDgJXOZSBuMknYs,86
9
9
  wslink/server.py,sha256=yvhCjpzPOfhbZrpDvW9i4H_uSyuQAe3ZOP-BRBmgHQA,9326
10
10
  wslink/ssl_context.py,sha256=hNOJJCdrStws1Qf6vPvY4vTk9Bf8J5d90W3fS0cRv8o,2290
11
11
  wslink/uri.py,sha256=woCQ4yChUqTMg9IT6YYDtUYeKmCg7OUCEgeBGA-19DY,384
12
- wslink/websocket.py,sha256=T47xgY6fgQQqDqcxmZpamIEvhQtvw_TWGeF2Es1dIpI,6350
12
+ wslink/websocket.py,sha256=wuwqJwgAWmbvtj-FvRezhzXqdUqdoq7nDpWLmetxNTs,6191
13
13
  wslink/backends/__init__.py,sha256=cyJGjm-YyBSyOEX81owyTbJ3YnrA6dB7--B4LnsEtHI,1214
14
14
  wslink/backends/aiohttp/__init__.py,sha256=SSK5a_lxuEZGyW_mMMipgvAhJQQLhxAImR3jRokFchM,9301
15
15
  wslink/backends/aiohttp/launcher.py,sha256=gHNMvtgNHEwBN_QBRDSCrTp2B4K1PsfV81rKaHi7Cxo,8897
@@ -20,7 +20,7 @@ wslink/backends/jupyter/__init__.py,sha256=Qu65gWsd2xCSsxybnDtEDI5vMjHN-F5jgPZOy
20
20
  wslink/backends/jupyter/core.py,sha256=F8R3uH4m6RHCrHHRiA5UAgDOLdyGbpuCSAgCZxANREk,2794
21
21
  wslink/backends/tornado/__init__.py,sha256=Qu65gWsd2xCSsxybnDtEDI5vMjHN-F5jgPZOyNIxnGs,112
22
22
  wslink/backends/tornado/core.py,sha256=tPMkkhWuO_ovkisVim0zcegwZKEAG4IRUdd_O_0a_R0,2157
23
- wslink-2.3.0.dist-info/METADATA,sha256=hisMCyrZAwxLjXz24KZ74-VaFyHvusXzfpnzU0U5wJM,3120
24
- wslink-2.3.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
25
- wslink-2.3.0.dist-info/top_level.txt,sha256=N0d8eqvhwhfW1p1yPTmvxlbzhjz7ZyhBfysNvaFqpQY,7
26
- wslink-2.3.0.dist-info/RECORD,,
23
+ wslink-2.3.1.dist-info/METADATA,sha256=vwfCnfjB7VrNadykxK9VYtNT2p4hiPQ_r13R5oMyMOE,3120
24
+ wslink-2.3.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
25
+ wslink-2.3.1.dist-info/top_level.txt,sha256=N0d8eqvhwhfW1p1yPTmvxlbzhjz7ZyhBfysNvaFqpQY,7
26
+ wslink-2.3.1.dist-info/RECORD,,
File without changes