From 9cfb9cc1e5b879a17a975602e54551af86c83e4a Mon Sep 17 00:00:00 2001 From: rany Date: Wed, 9 Mar 2022 20:23:31 +0200 Subject: [PATCH] Fix #6 --- examples/input_example.py | 9 +++++++++ lint.sh | 4 ++-- src/edge_tts/util.py | 10 ++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/examples/input_example.py b/examples/input_example.py index f5a9fa4..b7d3173 100755 --- a/examples/input_example.py +++ b/examples/input_example.py @@ -25,4 +25,13 @@ async def main(): if __name__ == "__main__": + # Fix for "RuntimeError: Event loop is closed" on Windows + # and Python 3.8+ + if ( + os.name == "nt" + and sys.version_info >= (3, 8) + and hasattr(asyncio, "WindowsSelectorEventLoopPolicy") + ): + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) + asyncio.run(main()) diff --git a/lint.sh b/lint.sh index 08d10a1..c2c19a9 100755 --- a/lint.sh +++ b/lint.sh @@ -1,2 +1,2 @@ -find src -name '*.py' | xargs black -find src -name '*.py' | xargs isort +find src examples -name '*.py' | xargs black +find src examples -name '*.py' | xargs isort diff --git a/src/edge_tts/util.py b/src/edge_tts/util.py index 98b4aee..f020785 100644 --- a/src/edge_tts/util.py +++ b/src/edge_tts/util.py @@ -5,6 +5,7 @@ Main package. import argparse import asyncio +import os import sys from edge_tts import Communicate, SubMaker, list_voices @@ -153,6 +154,15 @@ def main(): """ Main function. """ + # Fix for "RuntimeError: Event loop is closed" on Windows + # and Python 3.8+ + if ( + os.name == "nt" + and sys.version_info >= (3, 8) + and hasattr(asyncio, "WindowsSelectorEventLoopPolicy") + ): + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) + asyncio.run(_main())