From efdf2f1b17911834dd52f87744ab5ec86cf1758c Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Sat, 18 Mar 2017 14:55:47 -0700 Subject: [PATCH] add compileall stubs to 3 and add types to the ones in 2 (#1023) * add compileall stubs to 3 and add types to the ones in 2 Didn't merge the stubs because all functions have additional parameters since 3.2, so there would be no shared code between 2 and 3. * add comment --- stdlib/2/compileall.pyi | 13 ++++++++----- stdlib/3/compileall.pyi | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 stdlib/3/compileall.pyi diff --git a/stdlib/2/compileall.pyi b/stdlib/2/compileall.pyi index 103d62227..ca64eb523 100644 --- a/stdlib/2/compileall.pyi +++ b/stdlib/2/compileall.pyi @@ -1,7 +1,10 @@ # Stubs for compileall (Python 2) -# -# NOTE: This dynamically typed stub was automatically generated by stubgen. -def compile_dir(dir, maxlevels=..., ddir=..., force=..., rx=..., quiet=...): ... -def compile_file(fullname, ddir=..., force=..., rx=..., quiet=...): ... -def compile_path(skip_curdir=..., maxlevels=..., force=..., quiet=...): ... +from typing import Optional, Pattern, Union + +_Path = Union[str, bytes] + +# fx can be any object with a 'search' method; once we have Protocols we can change the type +def compile_dir(dir: _Path, maxlevels: int = ..., ddir: _Path = ..., force: bool = ..., rx: Optional[Pattern] = ..., quiet: int = ...) -> None: ... +def compile_file(fullname: _Path, ddir: _Path = ..., force: bool = ..., rx: Optional[Pattern] = ..., quiet: int = ...) -> None: ... +def compile_path(skip_curdir: bool = ..., maxlevels: int = ..., force: bool = ..., quiet: int = ...) -> None: ... diff --git a/stdlib/3/compileall.pyi b/stdlib/3/compileall.pyi new file mode 100644 index 000000000..4722923bd --- /dev/null +++ b/stdlib/3/compileall.pyi @@ -0,0 +1,18 @@ +# Stubs for compileall (Python 3) + +import os +import sys +from typing import Optional, Union, Pattern + +if sys.version_info < (3, 6): + _Path = Union[str, bytes] +else: + _Path = Union[str, bytes, os.PathLike] + +# fx can be any object with a 'search' method; once we have Protocols we can change the type +if sys.version_info < (3, 5): + def compile_dir(dir: _Path, maxlevels: int = ..., ddir: _Path = ..., force: bool = ..., rx: Optional[Pattern] = ..., quiet: int = ..., legacy: bool = ..., optimize: int = ...) -> None: ... +else: + def compile_dir(dir: _Path, maxlevels: int = ..., ddir: _Path = ..., force: bool = ..., rx: Optional[Pattern] = ..., quiet: int = ..., legacy: bool = ..., optimize: int = ..., workers: int = ...) -> None: ... +def compile_file(fullname: _Path, ddir: _Path = ..., force: bool = ..., rx: Optional[Pattern] = ..., quiet: int = ..., legacy: bool = ..., optimize: int = ...) -> None: ... +def compile_path(skip_curdir: bool = ..., maxlevels: int = ..., force: bool = ..., quiet: int = ..., legacy: bool = ..., optimize: int = ...) -> None: ...