From 4f70613c03b1e8e59c4d7e3d80deffdf17c2a17f Mon Sep 17 00:00:00 2001 From: RaSan <34002411+RaSan147@users.noreply.github.com> Date: Thu, 27 Apr 2023 03:38:47 +0600 Subject: [PATCH] Fix Waiting before exiting in #78 (#79) * Fix Waiting before exiting The eventloop is not closed and waits a second on every call (idk the reason) * Refactor --------- Co-authored-by: rany2 --- examples/basic_audio_streaming.py | 6 +++++- examples/basic_generation.py | 6 +++++- examples/dynamic_voice_selection.py | 6 +++++- examples/streaming_with_subtitles.py | 6 +++++- src/edge_tts/util.py | 6 +++++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/examples/basic_audio_streaming.py b/examples/basic_audio_streaming.py index 2ea78f6..b9e2dcb 100644 --- a/examples/basic_audio_streaming.py +++ b/examples/basic_audio_streaming.py @@ -31,4 +31,8 @@ async def _main() -> None: if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(_main()) + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(_main()) + finally: + loop.close() diff --git a/examples/basic_generation.py b/examples/basic_generation.py index e98f634..465464e 100644 --- a/examples/basic_generation.py +++ b/examples/basic_generation.py @@ -19,4 +19,8 @@ async def _main() -> None: if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(_main()) + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(_main()) + finally: + loop.close() diff --git a/examples/dynamic_voice_selection.py b/examples/dynamic_voice_selection.py index df4d318..6eb7b8d 100644 --- a/examples/dynamic_voice_selection.py +++ b/examples/dynamic_voice_selection.py @@ -25,4 +25,8 @@ async def _main() -> None: if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(_main()) + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(_main()) + finally: + loop.close() diff --git a/examples/streaming_with_subtitles.py b/examples/streaming_with_subtitles.py index 3159939..18b757b 100644 --- a/examples/streaming_with_subtitles.py +++ b/examples/streaming_with_subtitles.py @@ -32,4 +32,8 @@ async def _main() -> None: if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(_main()) + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(_main()) + finally: + loop.close() diff --git a/src/edge_tts/util.py b/src/edge_tts/util.py index 88de67e..439faa7 100644 --- a/src/edge_tts/util.py +++ b/src/edge_tts/util.py @@ -116,7 +116,11 @@ async def _async_main() -> None: def main() -> None: """Run the main function using asyncio.""" - asyncio.get_event_loop().run_until_complete(_async_main()) + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(_async_main()) + finally: + loop.close() if __name__ == "__main__":