Commit Graph

555 Commits

Author SHA1 Message Date
Phil Jones
f6decefd02 Fix email typing errors (#288)
* Change (Py3) email message payload type

The docstring of the Message get_payload method indicates that the
possible return types include None and bytes. Additionally the
set_payload method accepts bytes. Therefore I've changed the
PayloadType to include bytes and the get_payload return type to be an
Optional PayloadType.

* Change email (Py3) message_from_file IO types

Instead of using TextIO and BinaryIO use IO[str] and IO[bytes]
respectively to match the type returned by the open builtin. This
follows the recommendations in #283.

The error that prompts this is reproduced via:
```
from email import message_from_file

with open('email') as file_:
    email = message_from_file(file_)
```
Argument 1 to "message_from_file" has incompatible type IO[Any]; expected "TextIO"
2016-06-11 10:43:08 -07:00
Guido van Rossum
89dfe15008 Add TYPE_CHECKING = True 2016-06-10 17:27:12 -07:00
Guido van Rossum
0b19fb471c Revert "add types to ssl for py2 (#251)"
This reverts commit 4039a1a686.

Reason: several constants (e.g. SSL_ERROR_EOF, SSL_ERROR_SSL, SSL_ERROR_WANT_READ and a few others) are missing.
2016-06-10 17:26:36 -07:00
Mickaël S
4f1eb9a63c Fix argument type for configparser.write (#284) 2016-06-10 19:49:37 +01:00
Dakkaron
59d64f4e2b re methods' pattern-parameters don't affect the return value anymore (#281)
Note that this is a 2.7-only change (in Python 3, the pattern type must match the other parameter and the result).
2016-06-09 09:54:59 -07:00
Tim Abbott
6da0bcec4c Fix argument type for datetime.now. (#268)
It seems to actually take a tzinfo argument, not its subclass
timezone.
2016-06-06 15:21:11 -07:00
Valérian Rousset
c40a260b47 fix sys.exc_info return type (#246) 2016-06-06 08:52:40 -07:00
Valérian Rousset
4039a1a686 add types to ssl for py2 (#251) 2016-06-06 08:42:43 -07:00
Valérian Rousset
4c42061c95 add types to socketserver for py2 (#250) 2016-06-06 08:37:17 -07:00
Tim Simpson
ac9ade5374 Allow use of kwargs in MutableMapping.update (#252)
Discovered while adding MyPy for code that was implementing
MutableMapping and using the update function like this:

```python
class CaseInsensitiveDict(collections.MutableMapping):
    def __init__(self, data=None, **kwargs):
        # type: (dict, **Any) -> None
        self._store = dict()  # type: dict
        if data is None:
            data = {}
        self.update(data, **kwargs)
```

This commit adds kwargs to MutableMapping to allow this.

Shout out to Tim Abbott for assisting me with this.
2016-06-05 18:10:56 -07:00
Scott G. Ainsworth
82b9baed3b Changed all regular expression findall() to return list[Any]. Findall() can return both list[AnyStr] and list[Tuple[AnyStr, AnyStr]]. (#269) 2016-06-05 17:50:12 -07:00
Guido van Rossum
8ee3123e02 Fix log() signatures; change msg: str to msg: Text. 2016-06-05 17:25:56 -07:00
Guido van Rossum
d75e2ab224 Add logging.WARN; TextIO -> IO[str]. 2016-06-05 17:10:15 -07:00
Valérian Rousset
e97638d4bd Improve http (#248) 2016-06-05 16:55:51 -07:00
Valérian Rousset
09e165ec35 Improve socket py2 (#249)
* add vim swap files to gitignore

* add types to socket.socket.send{,all} for py2
2016-06-05 16:51:26 -07:00
James J Porter
2b55989f7d make xml.etree.ElementTree.Element a Sequence (#254) 2016-06-04 19:28:22 -07:00
Valérian Rousset
a581397c42 add types to logging (#247) 2016-06-04 19:20:15 -07:00
Max Payton
e8e82a7c73 Make Empty a subclass of Exception (#266) 2016-06-04 18:32:13 -07:00
Max Payton
a619491060 Add full class definitions for Process, Queue, and Lock (#265)
These should be all the methods one can call on those classes
2016-06-04 18:31:48 -07:00
Tomasz Elendt
9acc9b31ac Fix heapq.merge signature for Python >= 3.5 (#227) (#261)
Add the optional key and reverse parameters:
https://docs.python.org/3.5/library/heapq.html#heapq.merge
2016-06-04 16:00:45 -07:00
Tomasz Elendt
a277980d99 Fix types.MappingProxyType (#259) (#260) 2016-06-04 13:02:07 -07:00
David Euresti
0bfa0636e1 Add http_client to six.moves, add missing functions to urllib2 fix some types in gettext (#262) 2016-06-04 12:02:55 -07:00
David Fisher
49000ccc5e Merge pull request #255 from iamaspacecow/typeshed_calendar_fixes
Update calendar.pyi `timegm` to accept arbitrary length tuples
2016-06-03 17:47:52 -07:00
David Fisher
fb96ee8e50 Revert "replace re patterns AnyStr with Union[str, unicode]"
This reverts commit ba2c8d95ec.
This commit introduced some bugs (it used Pattern[Union[str, unicode]]
when it would need to be Union[Pattern[str], Pattern[unicode]]), and
- on further discussion - it's unclear if we want to allow this
  additional flexibility.  I'm reverting this diff for now, but we'll
revisit this after deciding on the upcoming proposal about how implicit
bytes/unicode conversions should be handled when typing Python 2.
2016-06-03 17:41:01 -07:00
Max Payton
c8f0669ee4 Update calendar.pyi timegm to accept arbitrary length tuples
timegm takes struct_time objects, which are NamedTuples that have 9 elements by default
That would not take Tuple[Int], so typeshed would report errors
2016-06-03 16:10:09 -07:00
Tim Simpson
31a97363a9 Fixes a few tzinfo method's return type (#253) 2016-06-03 12:38:47 -07:00
erinhaswell
2c52d9a612 Correct return value of round in Python 2. (#245)
In Python 2.7, round returns a float, even when ndigits is omitted. In Python 3, round returns an int if ndigits is omitted.
2016-06-02 19:00:20 -07:00
Oren Leaffer
ba2c8d95ec replace re patterns AnyStr with Union[str, unicode] 2016-06-02 17:53:39 -07:00
Tim Simpson
80a37f3f93 Initial stubs for tkinter (#242)
This is the stubgen output for tkinter, tkinter.constants and tkinter.ttk, with only a few manual fixes (#1603).
2016-06-02 10:16:01 -07:00
Valérian Rousset
7721505397 complete ssl (#239) 2016-06-02 10:08:07 -07:00
Valérian Rousset
20d875dc75 complete socketserver (#238) 2016-06-02 10:06:41 -07:00
Valérian Rousset
cf5edec4de add types to socket.socket.send{,all} (#240) 2016-06-02 10:04:15 -07:00
Valérian Rousset
2b776cfb4e complete urllib (#241) 2016-06-02 09:22:29 -07:00
Valérian Rousset
a32d8a9da6 add types to sys.getrefcount (#237) 2016-06-02 00:27:37 -07:00
Guido van Rossum
25a45d6daf Revert "WIP: Mapping.{get,pop} can return default type (#223)"
This reverts commit d43adbe97e.

Here's a simple example of code that breaks with this PR:

from typing import Mapping, Dict, Tuple
a = {('0', '0'): 42}  # type: Mapping[Tuple[str, str], int]
b = a.get(('1', '1'), 0)

This gives an error on the last line:
error: No overload variant of "get" of "dict" matches argument types [Tuple[builtins.str, builtins.str], builtins.int]
2016-05-30 11:55:30 -07:00
Valérian Rousset
d43adbe97e WIP: Mapping.{get,pop} can return default type (#223)
* Mapping.{get,pop} can return default type

* Mapping values are covariant
2016-05-30 10:05:44 -07:00
Valérian Rousset
5b5f01f33c Improve email.* (#207)
* improve email

* complete email.message

* complete email.policy

* complete email.parser

* complete email.generator

* complete email.headerregistry

* complete email.contentmanager

* complete email.header

* complete email.charset

* complete email.errors

* complete email.feedparser
2016-05-30 10:04:51 -07:00
Valérian Rousset
191e153427 more closely fit to html.parser documentation (#231) 2016-05-30 09:51:34 -07:00
Valérian Rousset
ff94f6def0 specifiy Callable in sys.call_tracing (#230) 2016-05-30 09:32:56 -07:00
Vadim Chugunov
eabecf89d8 Fix setsockopt signature. (#226)
Closes #225
2016-05-26 15:23:31 -07:00
Dakkaron
f32e26ebc2 Added stdlib/2.7/getopt.pyi, updated 3/getopt.pyi (#221)
* Added stdlib/2.7/getopt.pyi

* Small fixes to stdlib/3/getopt.pyi
2016-05-25 07:14:42 -07:00
Jukka Lehtosalo
b98580d299 Don't use basestring in tempfile stub (#205)
Fixes #202.
2016-05-24 16:45:48 -07:00
Guido van Rossum
b6b8554c6b Add stub version of Type[C] (#216) 2016-05-24 16:44:13 -07:00
Dakkaron
25f5c9c6f8 Added type annotations and small fixes (#219)
* json.loads() accepts unicode

* threading.BoundedSemaphore is subclass of Semaphore

* Added type annotations for logging/__init__.pyi and logging/handlers.pyi

* Changed style of variable declaration to fit the rest of the file
2016-05-23 09:16:01 -07:00
Florian Bruhin
11049f9a4f Fix html.escape signature (#218)
The quote argument for html.escape is optional: https://docs.python.org/3.5/library/html.html#html.escape
2016-05-19 14:37:19 -07:00
David Shea
8503f13a41 Add types for gettext (#217)
* Add empty stubs for gettext Translations subclasses

GNUTranslations and NullTranslations do not add any methods to the base
Translations class, so remove the TODO comment and just declare the
classes.

* Add missing types for py3 gettext.
2016-05-19 14:34:38 -07:00
David Euresti
2bb026cd76 Fix type of getsockopt (#213) 2016-05-18 15:30:24 -07:00
Valérian Rousset
9154cd1320 type errors in codecs.EncodedFile (#208) 2016-05-18 14:43:33 +01:00
Guido van Rossum
355143851a Use __delete__, not __del__, in class property. See comments on #199. 2016-05-17 11:26:14 -07:00
jukebox
8e3bde1dab getpass return str (#204) 2016-05-17 14:32:03 +01:00