Commit Graph

4448 Commits

Author SHA1 Message Date
Michael Brandt 1442cc02bf Add stubs for HTTP Handler classes in py2/urllib2 & py3/urllib.request (#2710)
* HTTP Handler class annotations for py2/urllib2 & py3/urllib.request

Add full annotations for the following classes:

* Python 2:

    * `urllib2.AbstractHTTPHandler`
    * `urllib2.HTTPHandler`
    * `urllib2.HTTPsHandler`

* Python 3:

    * `urllib.request.AbstractHTTPHandler`
    * `urllib.request.HTTPHandler`
    * `urllib.request.HTTPsHandler`

This information is largely undocumented, and was obtained by directly examining
the Python source code:

* Python 2 (v2.7.15) - https://github.com/python/cpython/blob/v2.7.15/Lib/urllib2.py#L1115-L1243
* Python 3 (v3.7.1) - https://github.com/python/cpython/blob/v3.7.1/Lib/urllib/request.py#L1224-L1364

`urllib2.AbstractHTTPHandler.do_open` takes as a parameter either
`HTTPConnection` or `HTTPSConnection`--one of the classes, not an instance of
either--and constructs an object using only a few of the parameters that either
constructor could use. `HTTPConnectionProtocol` in `stdlib/2/httplib.pyi`
follows a similar patten to `HTTPConnectionProtocol` added to
`stdlib/3/http/client.pyi` in pull request #2582 to describe the type of the
`http_class` that is passed to `do_open`.
2019-02-11 11:25:02 +01:00
Joshua Oreman f8612a77bb Make AsyncGenerator.aclose() properly return Awaitable[None] (#2786)
Fixes #2785. The rationale is discussed there.
2019-02-10 22:35:17 -08:00
Łukasz Hanuszczak c8c6271365 Make NamedTuple accept Text names (#2762)
Closes #2761
2019-02-09 19:06:07 +01:00
Utkarsh Gupta 1a37368cc0 __init__.pyi: Add __getitem__() to stat_result() (#2753)
Fixes #2751
2019-02-09 16:07:10 +01:00
Aymeric Augustin f0c5ac04b0 Support *contiguous attributes of memoryview. (#2755) 2019-02-09 16:05:00 +01:00
Aymeric Augustin 503cbb97a3 Fix signature of asyncio.create_server. (#2763)
* host may be None to bind to all interfaces.
* If sock is given, host and port shouldn't be specified.
2019-02-09 15:45:09 +01:00
Josh Morton b0eb6c2eae Improve the stubs in charset.pyi under python3. (#2768)
The python3 charset stubs didn't include certain necessary module level
constansts (like `QP`) and wrongly defined the arguments to some of
the functions in the module. This is no longer the case.

Fixes #2767
2019-02-09 15:29:49 +01:00
Aymeric Augustin 0b6d134795 Support the errors arg in codecs factory functions. (#2752) 2019-02-09 15:06:46 +01:00
Paul Dagnelie 5ef6cb7f46 Add types to some cross-platform functions in the platform library (#2781) 2019-02-08 20:28:53 +01:00
Michael J. Sullivan d8faf503ec Make SyntaxError.offset be optional (again) (#2782)
This was originally done in #2557, but got lost in #2533.
2019-02-08 11:09:18 -08:00
Joel Rosdahl 3eb66ba633 Add type annotation for collections.deque.__iadd__ (#2774)
* Add type annotation for collections.deque.__iadd__

Fixes #2771.
2019-02-01 19:39:09 +01:00
Utkarsh Gupta ad803e1caa builtins.pyi: Update __iadd__() and imul() in class list (#2754)
Fixes #2711
2019-01-21 21:57:15 +01:00
Hynek Schlawack 7b69e48d1b Add SSLCertVerificationError fields (#2745) 2019-01-17 16:48:34 +01:00
Евгений 6f09ccb63d logging: inherit TimedRotatingFileHandler from Handler (#2738) 2019-01-17 13:54:59 +01:00
Michael R. Shannon a2ecfafa98 Add missing explicit Optional to stubs for the xml.etree package. (#2734)
Fixes #2733
2019-01-17 13:50:37 +01:00
Michael Noseworthy e8c1111d13 Fix logging.getLevelName() type hints (#2730)
`logging.getLevelName()` can take either an `int` and returns a `str` or
a `str` and returns an `int` when the level name (`str`) or level
(`int`) is one of the registered log levels. If the value passed in
isn't one of the registered log levels, it returns the string `"level
%s" % lvl` where `lvl` is the value passed in to the function.
2019-01-17 13:40:03 +01:00
Jelle Zijlstra 78690405cf add back StopIteration.value in Python 3 (#2744)
Fixes python/mypy#6209.
2019-01-16 19:21:16 -08:00
Igor Davydenko 8e6e178a5a As of Python 3.6 dump_stats method allows PathLike object to be passed. (#2741)
Replicate typings from `pstats.dump_stats` into `profile` and `cProfile`
libraries.
2019-01-15 10:27:53 -08:00
cormoran 632eadc894 Make metavar in argparse be Optional (#2739) 2019-01-13 12:09:06 +01:00
Vield ee20595996 Fix type of indent in JSONEncoder (#2737)
A None value for indent means the most compact representation (no newlines), it is also the default value.
2019-01-11 12:48:21 +01:00
Michael J. Sullivan f343150a6d Make ZipFile.NameToInfo use Text as the key type (#2736)
This makes it match ZipInfo.filename and also actual behavior.
2019-01-10 20:32:18 -06:00
Michael J. Sullivan c75d42ef23 Fix the type of ord on python 2 (#2735)
It looks like it got messed up in #2533
2019-01-10 19:24:51 -06:00
Tomer Keren be99a2a5f0 Use a more accurate type for predicates in itertools (#2732)
The only constraint on the return value of a predicate is to be "boolable".
Because `bool` recives an object in the constructor https://github.com/python/typeshed/blob/master/stdlib/2and3/builtins.pyi#L803 this is a more accurate description of a predicate.
2019-01-10 11:30:28 -08:00
Hynek Schlawack 0854df365d Add SSLCertVerificationError for 3.7+ (#2729)
As of 3.7, ssl.CertificateError became an alias for the new
SSLCertVerificationError.
2019-01-09 09:17:39 +01:00
Alexander Lyon 2ea8abc1c7 Update sqlite3 types to include extensions (#2728) 2019-01-08 16:31:11 +01:00
Ethan Smith ad304cb9ee Use overlapped signatures of _winapi functions (#2723)
For python/mypy#6148
2019-01-07 11:39:26 +01:00
Savo Kovačević eb6dbe510d Fix unittest.TestCase assert methods' argument names (#2724)
And fix assertNotAlmostEqual overloads
2019-01-05 17:31:32 -08:00
Alex Sarkesian 893089d143 Add stubs to classes in zipfile to better enable subclassing (#2707) 2019-01-05 10:43:26 -08:00
Ilya Konstantinov 93150dc0fa LoggerAdapter.log argument lvl -> level (#2722) 2019-01-04 09:03:56 +01:00
Diogo Magalhães Martins f4aed1fd40 Fixing type for asyncio.StreamWriter reader init parameter (#2719)
Closes #2718
2018-12-28 17:56:38 +01:00
Tomer Keren d9a202e352 Make appropriate ast methods generic (#2715)
Closes #2714
2018-12-24 20:03:09 +01:00
Savo Kovačević 8542916231 Add missing currentframe to logging module (#2712) 2018-12-23 19:57:15 +01:00
Sebastian Rittau eb1788ac39 Merge Python 2 and 3 builtins.pyi (#2533) 2018-12-21 07:12:41 -08:00
Juan Gonzalez 76a334daeb Complete unittest.TextTestResult stubs (#2700) 2018-12-21 08:37:33 +01:00
Dave Halter 2cedbc7d63 Add missing attributes of type (#2544)
All these attributes can be seen when using `dir(type)`.

In the future we should be discussing if certain methods on object (like
__eq__) should really be there. IMO this should be defined on type where it
actually also appears when using `dir`.
2018-12-20 20:01:40 -08:00
Ville Skyttä 9b5976e15b socket: Some more address typing (#2695) 2018-12-20 19:45:29 -08:00
Daniel Mouritzen fb8b77e715 Set correct type for _subparsersaction.choices (#2702)
choices=_name_parser_map, see https://github.com/python/cpython/blob/a11d44056e4f9b64d28efec295e1c1c45d4cb9e1/Lib/argparse.py#L1097
2018-12-20 19:44:30 -08:00
Juan Gonzalez c18b75b2e6 Make mypy aware of IMapUnorderedIterator (#2701) 2018-12-20 19:41:58 -08:00
Jelle Zijlstra 46ab77eb20 loop argument to asyncio.ensure_future is Optional (#2708)
The default value is None: https://github.com/python/cpython/blob/master/Lib/asyncio/tasks.py#L616.
2018-12-20 15:24:03 -08:00
Ville Skyttä 0956a24eb2 bytes/bytearray.startswith fixes (#2696) 2018-12-17 18:57:07 +01:00
Kai Willadsen 4d85e5365f Add missing ENOTSUP alias to errno (#2692) 2018-12-17 17:46:32 +01:00
Philipp Hahn bf410fb9ef Logging (#2687)
* logging: Add logging.Logger().fatal()

fatal() is an alias for critical(): It is just another name for the same
implementation.

* logging: Fix logging.Logger().warn()

warn() was an alias for warning(), but got deprecated with Python3.
In Python2 warn() is just another name for the same method.
In Python3 they have their own implementations, which adds a deprecation
warning before calling the new function.

PS: LoggerAdapter in Python2 never has the warn() method, but Python3
still implements the deprecation wrapper function.
2018-12-17 15:39:01 +01:00
Dave Halter 5c69373890 macpath, os/path, posixpath and ntpath should basically be the same files (#2637) 2018-12-17 15:02:18 +01:00
gnattishness ea0dbfa313 Fix typo for Message.add_attachment in message.pyi (#2697) 2018-12-15 19:11:15 -08:00
Michael J. Sullivan 95afb86022 Move posix.stat_result to os.stat_result on python 3 (#2683)
In python 3, posix.stat_result is a re-export of os.stat_result, while
in python 2 it was the reverse. Update typeshed to reflect this.
2018-12-13 19:20:42 +01:00
Andrew Svetlov b9be76c255 Task.current_task() and Task.all_tasks() have an optional loop parameter (#2690) 2018-12-12 13:18:18 -08:00
Philipp Hahn d57e8c69f3 urllib2: timeout: int -> Optional[float] (#2685) 2018-12-12 15:47:53 +01:00
Kostya Esmukov 2469a3ccda Fix signature of ConfigParser's dict_type argument (#2684) 2018-12-12 08:22:31 +01:00
Sander Voerman 1b24d80087 Add get_loop() to asyncio.Future [Python 3.7] (#2680) 2018-12-09 21:37:37 +01:00
Brandt Bucher 0b49ce75b4 Add contextlib.nullcontext [Python 3.7]. (#2677)
Closes #2676
2018-12-08 02:55:47 +01:00