Add stubs for UserList, UserString, UserDict.

This commit is contained in:
Tim Abbott
2016-01-27 21:33:26 -08:00
parent c48b931d92
commit fcb63d2028
6 changed files with 17 additions and 14 deletions

3
stdlib/2.7/UserList.pyi Normal file
View File

@@ -0,0 +1,3 @@
import collections
class UserList(collections.MutableSequence): ...

View File

@@ -0,0 +1,4 @@
import collections
class UserString(collections.Sequence): ...
class MutableString(UserString, collections.MutableSequence): ...

View File

@@ -2,16 +2,13 @@
# Based on http://docs.python.org/2.7/library/collections.html
# TODO UserDict
# TODO UserList
# TODO UserString
# TODO more abstract base classes (interfaces in mypy)
# NOTE: These are incomplete!
from typing import (
Dict, Generic, TypeVar, Iterable, Tuple, Callable, Mapping, overload, Iterator, Sized,
Optional, List, Set, Sequence, Union, Reversible
Optional, List, Set, Sequence, Union, Reversible, MutableMapping, MutableSequence
)
import typing
@@ -22,8 +19,6 @@ _VT = TypeVar('_VT')
# namedtuple is special-cased in the type checker; the initializer is ignored.
namedtuple = object()
MutableMapping = typing.MutableMapping
class deque(Sized, Iterable[_T], Reversible[_T], Generic[_T]):
def __init__(self, iterable: Iterable[_T] = ...,
maxlen: int = ...) -> None: ...

View File

@@ -2,9 +2,6 @@
# Based on http://docs.python.org/3.2/library/collections.html
# TODO UserDict
# TODO UserList
# TODO UserString
# TODO more abstract base classes (interfaces in mypy)
# These are not exported.
@@ -30,6 +27,10 @@ _VT = TypeVar('_VT')
# namedtuple is special-cased in the type checker; the initializer is ignored.
namedtuple = object()
class UserDict(MutableMapping): ...
class UserList(MutableSequence): ...
class UserString(Sequence): ...
class MutableString(UserString, MutableSequence): ...
# Technically, deque only derives from MutableSequence in 3.5.
# But in practice it's not worth losing sleep over.

View File

@@ -14,8 +14,8 @@ from __builtin__ import reduce as reduce
from pipes import quote as shlex_quote
from StringIO import StringIO as StringIO
from UserDict import UserDict as UserDict
## from UserList import UserList as UserList
## from UserString import UserString as UserString
from UserList import UserList as UserList
from UserString import UserString as UserString
from __builtin__ import xrange as xrange
from itertools import izip as zip
from itertools import izip_longest as zip_longest

View File

@@ -16,9 +16,9 @@ from imp import reload as reload_module
from functools import reduce as reduce
from shlex import quote as shlex_quote
from io import StringIO as StringIO
# from collections import UserDict as UserDict
# from collections import UserList as UserList
# from collections import UserString as UserString
from collections import UserDict as UserDict
from collections import UserList as UserList
from collections import UserString as UserString
from builtins import range as xrange
from builtins import zip as zip
from itertools import zip_longest as zip_longest