shlex.split: allow TextIO and deprecate None (#11451)

This commit is contained in:
Avasam
2024-02-19 00:10:01 -05:00
committed by GitHub
parent 84572bbfe6
commit bb6613f379

View File

@@ -1,10 +1,20 @@
import sys
from collections.abc import Iterable
from typing import TextIO
from typing_extensions import Self
from typing import TextIO, overload
from typing_extensions import Self, deprecated
__all__ = ["shlex", "split", "quote", "join"]
def split(s: str, comments: bool = False, posix: bool = True) -> list[str]: ...
if sys.version_info >= (3, 12):
def split(s: str | TextIO, comments: bool = False, posix: bool = True) -> list[str]: ...
else:
@overload
def split(s: str | TextIO, comments: bool = False, posix: bool = True) -> list[str]: ...
@overload
@deprecated("Passing None for 's' to shlex.split() is deprecated and will raise an error in Python 3.12.")
def split(s: None, comments: bool = False, posix: bool = True) -> list[str]: ...
def join(split_command: Iterable[str]) -> str: ...
def quote(s: str) -> str: ...