From e623cc184a4389ce8570202bba393c4a31aa6bb2 Mon Sep 17 00:00:00 2001 From: Rhys Parry Date: Tue, 27 Jun 2017 15:26:30 -0700 Subject: [PATCH 1/2] Allow `os.readlink` to accept path-like objects --- stdlib/3/os/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/3/os/__init__.pyi b/stdlib/3/os/__init__.pyi index 91271fba07e3..139c4cdd4dd9 100644 --- a/stdlib/3/os/__init__.pyi +++ b/stdlib/3/os/__init__.pyi @@ -319,7 +319,7 @@ def mkdir(path: _PathType, mode: int = ...) -> None: ... def makedirs(path: _PathType, mode: int = ..., exist_ok: bool = ...) -> None: ... def pathconf(path: _PathType, name: Union[str, int]) -> int: ... # Unix only -def readlink(path: AnyStr) -> AnyStr: ... +def readlink(path: _PathType) -> AnyStr: ... def remove(path: _PathType) -> None: ... def removedirs(path: _PathType) -> None: ... def rename(src: _PathType, dst: _PathType) -> None: ... From 4b9e317390f3f567dbb327e265ad6704fab4b584 Mon Sep 17 00:00:00 2001 From: Rhys Parry Date: Wed, 28 Jun 2017 09:54:56 -0700 Subject: [PATCH 2/2] Use PathLike in `os.readlink` --- stdlib/3/os/__init__.pyi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stdlib/3/os/__init__.pyi b/stdlib/3/os/__init__.pyi index 139c4cdd4dd9..4484bdb7d0a0 100644 --- a/stdlib/3/os/__init__.pyi +++ b/stdlib/3/os/__init__.pyi @@ -319,7 +319,10 @@ def mkdir(path: _PathType, mode: int = ...) -> None: ... def makedirs(path: _PathType, mode: int = ..., exist_ok: bool = ...) -> None: ... def pathconf(path: _PathType, name: Union[str, int]) -> int: ... # Unix only -def readlink(path: _PathType) -> AnyStr: ... +if sys.version_info >= (3, 6): + def readlink(path: Union[AnyStr, PathLike[AnyStr]]) -> AnyStr: ... +else: + def readlink(path: AnyStr) -> AnyStr: ... def remove(path: _PathType) -> None: ... def removedirs(path: _PathType) -> None: ... def rename(src: _PathType, dst: _PathType) -> None: ...