Skip to content

Commit 1aa32fd

Browse files
committed
Merge branch 'main' into feature/conduits
2 parents 54cabfa + 8fc3b11 commit 1aa32fd

File tree

4 files changed

+10
-1
lines changed

4 files changed

+10
-1
lines changed

twitchio/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ async def main() -> None:
502502
self.__waiter.clear()
503503
await self.login(token=token, load_tokens=load_tokens, save_tokens=save_tokens)
504504

505-
if with_adapter:
505+
if with_adapter and not self._adapter._running:
506506
await self._adapter.run()
507507

508508
# Dispatch ready event... May change places in the future.

twitchio/web/aio_adapter.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ def __init__(
176176
self.router.add_route("POST", self._eventsub_path, self.eventsub_callback)
177177

178178
self._responded: deque[str] = deque(maxlen=5000)
179+
self._running: bool = False
179180

180181
def __init_subclass__(cls: type[AiohttpAdapter]) -> None:
181182
return
@@ -215,6 +216,7 @@ async def close(self, *args: Any, **kwargs: Any) -> None:
215216

216217
self._runner = None
217218
self._runner_task = None
219+
self._running = False
218220

219221
def _task_callback(self, task: asyncio.Task[None]) -> None:
220222
if not task.done():
@@ -224,6 +226,8 @@ def _task_callback(self, task: asyncio.Task[None]) -> None:
224226
raise e
225227

226228
async def run(self, host: str | None = None, port: int | None = None) -> None:
229+
self._running = True
230+
227231
self._runner = web.AppRunner(self, access_log=None, handle_signals=True)
228232
await self._runner.setup()
229233

twitchio/web/starlette_adapter.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ def __init__(
175175
)
176176
self._closing: bool = False
177177
self._server: uvicorn.Server | None = None
178+
self._running: bool = False
178179

179180
def __repr__(self) -> str:
180181
return f'{self.__class__.__name__}(host="{self._host}", port={self._port})'
@@ -221,6 +222,7 @@ async def close(self, with_client: bool = True) -> None:
221222

222223
logger.info("Successfully shutdown TwitchIO <%s>.", self.__class__.__qualname__)
223224
self._closing = False
225+
self._running = False
224226

225227
def _task_callback(self, task: asyncio.Task[None]) -> None:
226228
if not task.done():
@@ -236,6 +238,8 @@ def _task_callback(self, task: asyncio.Task[None]) -> None:
236238
logger.exception(e.__context__)
237239

238240
async def run(self, host: str | None = None, port: int | None = None) -> None:
241+
self._running = True
242+
239243
self._host = host or self._host
240244
self._port = port or self._port
241245

twitchio/web/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class BaseAdapter(abc.ABC):
8686
client: Client
8787
_runner_task: asyncio.Task[None] | None
8888
_eventsub_secret: str | None
89+
_running: bool
8990

9091
@abc.abstractmethod
9192
async def event_startup(self) -> None: ...

0 commit comments

Comments
 (0)