Fix Python 3.7 support

* X | Y shorthand is not supported there
This commit is contained in:
rany2
2023-01-05 02:31:16 +02:00
parent f4c0a1388f
commit a1bfe2a8fa
2 changed files with 11 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
[metadata] [metadata]
name = edge-tts name = edge-tts
version = 6.0.1 version = 6.0.2
author = rany author = rany
author_email = ranygh@riseup.net author_email = ranygh@riseup.net
description = Microsoft Edge's TTS description = Microsoft Edge's TTS

View File

@@ -7,7 +7,7 @@ import json
import re import re
import time import time
import uuid import uuid
from typing import Any, AsyncGenerator, Dict, Generator, List, Optional from typing import Any, AsyncGenerator, Dict, Generator, List, Optional, Tuple, Union
from xml.sax.saxutils import escape from xml.sax.saxutils import escape
import aiohttp import aiohttp
@@ -17,7 +17,7 @@ from edge_tts.exceptions import NoAudioReceived, UnexpectedResponse, UnknownResp
from .constants import WSS_URL from .constants import WSS_URL
def get_headers_and_data(data: str | bytes) -> tuple[Dict[str, str], bytes]: def get_headers_and_data(data: Union[str, bytes]) -> Tuple[Dict[str, str], bytes]:
""" """
Returns the headers and data from the given data. Returns the headers and data from the given data.
@@ -43,7 +43,7 @@ def get_headers_and_data(data: str | bytes) -> tuple[Dict[str, str], bytes]:
return headers, b"\r\n\r\n".join(data.split(b"\r\n\r\n")[1:]) return headers, b"\r\n\r\n".join(data.split(b"\r\n\r\n")[1:])
def remove_incompatible_characters(string: str | bytes) -> str: def remove_incompatible_characters(string: Union[str, bytes]) -> str:
""" """
The service does not support a couple character ranges. The service does not support a couple character ranges.
Most important being the vertical tab character which is Most important being the vertical tab character which is
@@ -95,7 +95,7 @@ def iter_bytes(my_bytes: bytes) -> Generator[bytes, None, None]:
yield my_bytes[i : i + 1] yield my_bytes[i : i + 1]
def split_text_by_byte_length(text: str | bytes, byte_length: int) -> List[bytes]: def split_text_by_byte_length(text: Union[str, bytes], byte_length: int) -> List[bytes]:
""" """
Splits a string into a list of strings of a given byte length Splits a string into a list of strings of a given byte length
while attempting to keep words together. while attempting to keep words together.
@@ -132,7 +132,9 @@ def split_text_by_byte_length(text: str | bytes, byte_length: int) -> List[bytes
return words return words
def mkssml(text: str | bytes, voice: str, pitch: str, rate: str, volume: str) -> str: def mkssml(
text: Union[str, bytes], voice: str, pitch: str, rate: str, volume: str
) -> str:
""" """
Creates a SSML string from the given parameters. Creates a SSML string from the given parameters.
@@ -401,7 +403,9 @@ class Communicate:
) )
async def save( async def save(
self, audio_fname: str | bytes, metadata_fname: Optional[str | bytes] = None self,
audio_fname: Union[str, bytes],
metadata_fname: Optional[Union[str, bytes]] = None,
) -> None: ) -> None:
""" """
Save the audio and metadata to the specified files. Save the audio and metadata to the specified files.