Convert namedtuples to class syntax (#3321)

This commit is contained in:
Sebastian Rittau
2019-10-20 10:37:33 +02:00
committed by GitHub
parent 2b9dc7b9c2
commit ec7960a8cb
41 changed files with 397 additions and 383 deletions

View File

@@ -35,14 +35,10 @@ TIMEOUT_MAX: int
if sys.version_info >= (3, 8):
def get_native_id() -> int: ... # only available on some platforms
ExceptHookArgs = NamedTuple(
"ExceptHookArgs",
[
("exc_type", Type[BaseException]),
("exc_value", Optional[BaseException]),
("exc_traceback", Optional[TracebackType]),
("thread", Optional[Thread]),
]
)
class ExceptHookArgs(NamedTuple):
exc_type: Type[BaseException]
exc_value: Optional[BaseException]
exc_traceback: Optional[TracebackType]
thread: Optional[Thread]
def _ExceptHookArgs(args) -> ExceptHookArgs: ...
_excepthook: Callable[[ExceptHookArgs], Any]

View File

@@ -13,13 +13,11 @@ def reduce(function: Callable[[_T, _S], _T],
def reduce(function: Callable[[_T, _T], _T],
sequence: Iterable[_T]) -> _T: ...
class _CacheInfo(NamedTuple('CacheInfo', [
('hits', int),
('misses', int),
('maxsize', int),
('currsize', int)
])): ...
class _CacheInfo(NamedTuple):
hits: int
misses: int
maxsize: int
currsize: int
class _lru_cache_wrapper(Generic[_T]):
__wrapped__: Callable[..., _T]

View File

@@ -37,11 +37,11 @@ if sys.version_info >= (3, 6):
TPFLAGS_IS_ABSTRACT: int
if sys.version_info < (3, 6):
ModuleInfo = NamedTuple('ModuleInfo', [('name', str),
('suffix', str),
('mode', str),
('module_type', int),
])
class ModuleInfo(NamedTuple):
name: str
suffix: str
mode: str
module_type: int
def getmoduleinfo(path: str) -> Optional[ModuleInfo]: ...
def getmembers(object: object,
@@ -170,37 +170,36 @@ class BoundArguments:
# _ClassTreeItem = Union[List[_ClassTreeItem], Tuple[type, Tuple[type, ...]]]
def getclasstree(classes: List[type], unique: bool = ...) -> Any: ...
ArgSpec = NamedTuple('ArgSpec', [('args', List[str]),
('varargs', str),
('keywords', str),
('defaults', Tuple[Any, ...]),
])
class ArgSpec(NamedTuple):
args: List[str]
varargs: str
keywords: str
defaults: Tuple[Any, ...]
Arguments = NamedTuple('Arguments', [('args', List[str]),
('varargs', Optional[str]),
('varkw', Optional[str]),
])
class Arguments(NamedTuple):
args: List[str]
varargs: Optional[str]
varkw: Optional[str]
def getargs(co: CodeType) -> Arguments: ...
def getargspec(func: object) -> ArgSpec: ...
FullArgSpec = NamedTuple('FullArgSpec', [('args', List[str]),
('varargs', Optional[str]),
('varkw', Optional[str]),
('defaults', Optional[Tuple[Any, ...]]),
('kwonlyargs', List[str]),
('kwonlydefaults', Optional[Dict[str, Any]]),
('annotations', Dict[str, Any]),
])
class FullArgSpec(NamedTuple):
args: List[str]
varargs: Optional[str]
varkw: Optional[str]
defaults: Optional[Tuple[Any, ...]]
kwonlyargs: List[str]
kwonlydefaults: Optional[Dict[str, Any]]
annotations: Dict[str, Any]
def getfullargspec(func: object) -> FullArgSpec: ...
# TODO make the field types more specific here
ArgInfo = NamedTuple('ArgInfo', [('args', List[str]),
('varargs', Optional[str]),
('keywords', Optional[str]),
('locals', Dict[str, Any]),
])
class ArgInfo(NamedTuple):
args: List[str]
varargs: Optional[str]
keywords: Optional[str]
locals: Dict[str, Any]
def getargvalues(frame: FrameType) -> ArgInfo: ...
def formatannotation(annotation: object, base_module: Optional[str] = ...) -> str: ...
@@ -234,12 +233,11 @@ def getcallargs(func: Callable[..., Any],
*args: Any,
**kwds: Any) -> Dict[str, Any]: ...
ClosureVars = NamedTuple('ClosureVars', [('nonlocals', Mapping[str, Any]),
('globals', Mapping[str, Any]),
('builtins', Mapping[str, Any]),
('unbound', AbstractSet[str]),
])
class ClosureVars(NamedTuple):
nonlocals: Mapping[str, Any]
globals: Mapping[str, Any]
builtins: Mapping[str, Any]
unbound: AbstractSet[str]
def getclosurevars(func: Callable[..., Any]) -> ClosureVars: ...
def unwrap(func: Callable[..., Any],
@@ -251,25 +249,20 @@ def unwrap(func: Callable[..., Any],
# The interpreter stack
#
Traceback = NamedTuple(
'Traceback',
[
('filename', str),
('lineno', int),
('function', str),
('code_context', Optional[List[str]]),
('index', Optional[int]),
]
)
class Traceback(NamedTuple):
filename: str
lineno: int
function: str
code_context: Optional[List[str]]
index: Optional[int] # type: ignore
# Python 3.5+ (functions returning it used to return regular tuples)
FrameInfo = NamedTuple('FrameInfo', [('frame', FrameType),
('filename', str),
('lineno', int),
('function', str),
('code_context', Optional[List[str]]),
('index', Optional[int]),
])
class FrameInfo(NamedTuple):
frame: FrameType
filename: str
lineno: int
function: str
code_context: Optional[List[str]]
index: Optional[int] # type: ignore
def getframeinfo(frame: Union[FrameType, TracebackType], context: int = ...) -> Traceback: ...
def getouterframes(frame: Any, context: int = ...) -> List[FrameInfo]: ...
@@ -311,10 +304,10 @@ def getgeneratorlocals(generator: Generator[Any, Any, Any]) -> Dict[str, Any]: .
# TODO can we be more specific than "object"?
def getcoroutinelocals(coroutine: object) -> Dict[str, Any]: ...
Attribute = NamedTuple('Attribute', [('name', str),
('kind', str),
('defining_class', type),
('object', object),
])
class Attribute(NamedTuple):
name: str
kind: str
defining_class: type
object: object
def classify_class_attrs(cls: type) -> List[Attribute]: ...

View File

@@ -20,17 +20,15 @@ class NNTPDataError(NNTPError): ...
NNTP_PORT: int
NNTP_SSL_PORT: int
GroupInfo = NamedTuple('GroupInfo', [
('group', str),
('last', str),
('first', str),
('flag', str),
])
ArticleInfo = NamedTuple('ArticleInfo', [
('number', int),
('message_id', str),
('lines', List[bytes]),
])
class GroupInfo(NamedTuple):
group: str
last: str
first: str
flag: str
class ArticleInfo(NamedTuple):
number: int
message_id: str
lines: List[bytes]
def decode_header(header_str: str) -> str: ...

View File

@@ -393,7 +393,9 @@ if sys.platform != 'win32':
def readv(fd: int, buffers: Sequence[bytearray]) -> int: ...
def writev(fd: int, buffers: Sequence[bytes]) -> int: ...
terminal_size = NamedTuple('terminal_size', [('columns', int), ('lines', int)])
class terminal_size(NamedTuple):
columns: int
lines: int
def get_terminal_size(fd: int = ...) -> terminal_size: ...
def get_inheritable(fd: int) -> bool: ...

View File

@@ -12,7 +12,13 @@ def java_ver(release: str = ..., vendor: str = ..., vminfo: Tuple[str, str, str]
def system_alias(system: str, release: str, version: str) -> Tuple[str, str, str]: ...
def architecture(executable: str = ..., bits: str = ..., linkage: str = ...) -> Tuple[str, str]: ...
uname_result = NamedTuple('uname_result', [('system', str), ('node', str), ('release', str), ('version', str), ('machine', str), ('processor', str)])
class uname_result(NamedTuple):
system: str
node: str
release: str
version: str
machine: str
processor: str
def uname() -> uname_result: ...
def system() -> str: ...

View File

@@ -10,34 +10,29 @@ from os import stat_result as stat_result
if sys.version_info >= (3, 6):
from builtins import _PathLike # See comment in builtins
uname_result = NamedTuple('uname_result', [
('sysname', str),
('nodename', str),
('release', str),
('version', str),
('machine', str),
])
class uname_result(NamedTuple):
sysname: str
nodename: str
release: str
version: str
machine: str
times_result = NamedTuple('times_result', [
('user', float),
('system', float),
('children_user', float),
('children_system', float),
('elapsed', float),
])
class times_result(NamedTuple):
user: float
system: float
children_user: float
children_system: float
elapsed: float
waitid_result = NamedTuple('waitid_result', [
('si_pid', int),
('si_uid', int),
('si_signo', int),
('si_status', int),
('si_code', int),
])
sched_param = NamedTuple('sched_param', [
('sched_priority', int),
])
class waitid_result(NamedTuple):
si_pid: int
si_uid: int
si_signo: int
si_status: int
si_code: int
class sched_param(NamedTuple):
sched_priority: int
EX_CANTCREAT: int
EX_CONFIG: int

View File

@@ -25,12 +25,23 @@ RUSAGE_CHILDREN: int
RUSAGE_SELF: int
RUSAGE_THREAD: int
_RUsage = NamedTuple('_RUsage', [('ru_utime', float), ('ru_stime', float), ('ru_maxrss', int),
('ru_ixrss', int), ('ru_idrss', int), ('ru_isrss', int),
('ru_minflt', int), ('ru_majflt', int), ('ru_nswap', int),
('ru_inblock', int), ('ru_oublock', int), ('ru_msgsnd', int),
('ru_msgrcv', int), ('ru_nsignals', int), ('ru_nvcsw', int),
('ru_nivcsw', int)])
class _RUsage(NamedTuple):
ru_utime: float
ru_stime: float
ru_maxrss: int
ru_ixrss: int
ru_idrss: int
ru_isrss: int
ru_minflt: int
ru_majflt: int
ru_nswap: int
ru_inblock: int
ru_oublock: int
ru_msgsnd: int
ru_msgrcv: int
ru_nsignals: int
ru_nvcsw: int
ru_nivcsw: int
def getpagesize() -> int: ...
def getrlimit(resource: int) -> Tuple[int, int]: ...

View File

@@ -12,18 +12,14 @@ _FileObject = Union[int, _HasFileno]
_FileDescriptor = int
_EventMask = int
EVENT_READ: _EventMask
EVENT_WRITE: _EventMask
SelectorKey = NamedTuple('SelectorKey', [
('fileobj', _FileObject),
('fd', _FileDescriptor),
('events', _EventMask),
('data', Any)
])
class SelectorKey(NamedTuple):
fileobj: _FileObject
fd: _FileDescriptor
events: _EventMask
data: Any
class BaseSelector(metaclass=ABCMeta):
@abstractmethod

View File

@@ -1,14 +1,15 @@
from typing import List, NamedTuple
struct_spwd = NamedTuple("struct_spwd", [("sp_namp", str),
("sp_pwdp", str),
("sp_lstchg", int),
("sp_min", int),
("sp_max", int),
("sp_warn", int),
("sp_inact", int),
("sp_expire", int),
("sp_flag", int)])
class struct_spwd(NamedTuple):
sp_namp: str
sp_pwdp: str
sp_lstchg: int
sp_min: int
sp_max: int
sp_warn: int
sp_inact: int
sp_expire: int
sp_flag: int
def getspall() -> List[struct_spwd]: ...
def getspnam(name: str) -> struct_spwd: ...

View File

@@ -10,13 +10,12 @@ if sys.version_info < (3, 7):
_Position = Tuple[int, int]
_TokenInfo = NamedTuple('TokenInfo', [
('type', int),
('string', str),
('start', _Position),
('end', _Position),
('line', str)
])
class _TokenInfo(NamedTuple):
type: int
string: str
start: _Position
end: _Position
line: str
class TokenInfo(_TokenInfo):
@property

View File

@@ -39,31 +39,33 @@ class _DefragResultBase(Tuple[Any, ...], Generic[AnyStr]):
fragment: AnyStr
_SplitResultBase = NamedTuple(
'_SplitResultBase',
[
('scheme', str), ('netloc', str), ('path', str), ('query', str), ('fragment', str)
]
)
_SplitResultBytesBase = NamedTuple(
'_SplitResultBytesBase',
[
('scheme', bytes), ('netloc', bytes), ('path', bytes), ('query', bytes), ('fragment', bytes)
]
)
class _SplitResultBase(NamedTuple):
scheme: str
netloc: str
path: str
query: str
fragment: str
class _SplitResultBytesBase(NamedTuple):
scheme: bytes
netloc: bytes
path: bytes
query: bytes
fragment: bytes
_ParseResultBase = NamedTuple(
'_ParseResultBase',
[
('scheme', str), ('netloc', str), ('path', str), ('params', str), ('query', str), ('fragment', str)
]
)
_ParseResultBytesBase = NamedTuple(
'_ParseResultBytesBase',
[
('scheme', bytes), ('netloc', bytes), ('path', bytes), ('params', bytes), ('query', bytes), ('fragment', bytes)
]
)
class _ParseResultBase(NamedTuple):
scheme: str
netloc: str
path: str
params: str
query: str
fragment: str
class _ParseResultBytesBase(NamedTuple):
scheme: bytes
netloc: bytes
path: bytes
params: bytes
query: bytes
fragment: bytes
# Structured result objects for string data
class DefragResult(_DefragResultBase[str], _ResultMixinStr): ...

View File

@@ -3,7 +3,9 @@
from typing import Iterable, NamedTuple, Optional
import sys
_RequestRate = NamedTuple('_RequestRate', [('requests', int), ('seconds', int)])
class _RequestRate(NamedTuple):
requests: int
seconds: int
class RobotFileParser:
def __init__(self, url: str = ...) -> None: ...