Skip to content

Commit 8ec633c

Browse files
committed
Merge branch 'main' into feature/conduits
2 parents a592c1f + f2ade07 commit 8ec633c

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

twitchio/client.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ def __init__(
171171
self._ready_event.clear()
172172

173173
self.__waiter: asyncio.Event = asyncio.Event()
174+
self._setup_called = False
174175

175176
@property
176177
def adapter(self) -> BaseAdapter:
@@ -194,10 +195,12 @@ async def set_adapter(self, adapter: BaseAdapter) -> None:
194195
None
195196
"""
196197
if self._adapter:
197-
await self._adapter.close()
198+
await self._adapter.close(False)
198199

199200
self._adapter = adapter
200-
await self._adapter.run()
201+
202+
if self._setup_called:
203+
await self._adapter.run()
201204

202205
@property
203206
def tokens(self) -> MappingProxyType[str, TokenMappingData]:
@@ -439,6 +442,7 @@ async def login(self, *, token: str | None = None, load_tokens: bool = True, sav
439442

440443
async def _setup(self) -> None:
441444
await self.setup_hook()
445+
self._setup_called = True
442446

443447
async def __aenter__(self) -> Self:
444448
return self

twitchio/web/aio_adapter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ async def event_startup(self) -> None:
199199
async def event_shutdown(self) -> None:
200200
logger.info("Successfully shutdown TwitchIO <%s>.", self.__class__.__qualname__)
201201

202-
async def close(self) -> None:
202+
async def close(self, *args: Any, **kwargs: Any) -> None:
203203
if self._runner_task is not None:
204204
try:
205205
self._runner_task.cancel()

twitchio/web/starlette_adapter.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ async def event_startup(self) -> None:
194194
async def event_shutdown(self) -> None:
195195
await self.close()
196196

197-
async def close(self) -> None:
197+
async def close(self, with_client: bool = True) -> None:
198198
if self._closing:
199199
return
200200

@@ -211,7 +211,9 @@ async def close(self) -> None:
211211
)
212212

213213
self._runner_task = None
214-
await self.client.close()
214+
215+
if with_client:
216+
await self.client.close()
215217

216218
logger.info("Successfully shutdown TwitchIO <%s>.", self.__class__.__qualname__)
217219

twitchio/web/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ async def event_startup(self) -> None: ...
9494
async def event_shutdown(self) -> None: ...
9595

9696
@abc.abstractmethod
97-
async def close(self) -> None: ...
97+
async def close(self, *args: Any, **kwargs: Any) -> None: ...
9898

9999
@abc.abstractmethod
100100
async def run(self, host: str | None = None, port: int | None = None) -> None: ...

0 commit comments

Comments
 (0)