|
1 | 1 | # Stubs for urllib.parse
|
2 |
| -from typing import Any, List, Dict, Tuple, AnyStr, Generic, overload, Sequence, Mapping, Union |
| 2 | +from typing import Any, List, Dict, Tuple, AnyStr, Generic, overload, Sequence, Mapping, Union, NamedTuple |
3 | 3 |
|
4 | 4 | __all__ = (
|
5 | 5 | 'urlparse',
|
@@ -54,34 +54,46 @@ class _DefragResultBase(tuple, Generic[AnyStr]):
|
54 | 54 | url = ... # type: AnyStr
|
55 | 55 | fragment = ... # type: AnyStr
|
56 | 56 |
|
57 |
| -class _SplitResultBase(tuple, Generic[AnyStr]): |
58 |
| - scheme = ... # type: AnyStr |
59 |
| - netloc = ... # type: AnyStr |
60 |
| - path = ... # type: AnyStr |
61 |
| - query = ... # type: AnyStr |
62 |
| - fragment = ... # type: AnyStr |
63 | 57 |
|
64 |
| -class _ParseResultBase(tuple, Generic[AnyStr]): |
65 |
| - scheme = ... # type: AnyStr |
66 |
| - netloc = ... # type: AnyStr |
67 |
| - path = ... # type: AnyStr |
68 |
| - params = ... # type: AnyStr |
69 |
| - query = ... # type: AnyStr |
70 |
| - fragment = ... # type: AnyStr |
| 58 | +_SplitResultBase = NamedTuple( |
| 59 | + '_SplitResultBase', |
| 60 | + [ |
| 61 | + ('scheme', str), ('netloc', str), ('path', str), ('query', str), ('fragment', str) |
| 62 | + ] |
| 63 | +) |
| 64 | +_SplitResultBytesBase = NamedTuple( |
| 65 | + '_SplitResultBytesBase', |
| 66 | + [ |
| 67 | + ('scheme', bytes), ('netloc', bytes), ('path', bytes), ('query', bytes), ('fragment', bytes) |
| 68 | + ] |
| 69 | +) |
| 70 | + |
| 71 | +_ParseResultBase = NamedTuple( |
| 72 | + '_ParseResultBase', |
| 73 | + [ |
| 74 | + ('scheme', str), ('netloc', str), ('path', str), ('params', str), ('query', str), ('fragment', str) |
| 75 | + ] |
| 76 | +) |
| 77 | +_ParseResultBytesBase = NamedTuple( |
| 78 | + '_ParseResultBytesBase', |
| 79 | + [ |
| 80 | + ('scheme', bytes), ('netloc', bytes), ('path', bytes), ('params', bytes), ('query', bytes), ('fragment', bytes) |
| 81 | + ] |
| 82 | +) |
71 | 83 |
|
72 | 84 | # Structured result objects for string data
|
73 | 85 | class DefragResult(_DefragResultBase[str], _ResultMixinStr): ...
|
74 | 86 |
|
75 |
| -class SplitResult(_SplitResultBase[str], _NetlocResultMixinStr): ... |
| 87 | +class SplitResult(_SplitResultBase, _NetlocResultMixinStr): ... |
76 | 88 |
|
77 |
| -class ParseResult(_ParseResultBase[str], _NetlocResultMixinStr): ... |
| 89 | +class ParseResult(_ParseResultBase, _NetlocResultMixinStr): ... |
78 | 90 |
|
79 | 91 | # Structured result objects for bytes data
|
80 | 92 | class DefragResultBytes(_DefragResultBase[bytes], _ResultMixinBytes): ...
|
81 | 93 |
|
82 |
| -class SplitResultBytes(_SplitResultBase[bytes], _NetlocResultMixinBytes): ... |
| 94 | +class SplitResultBytes(_SplitResultBytesBase, _NetlocResultMixinBytes): ... |
83 | 95 |
|
84 |
| -class ParseResultBytes(_ParseResultBase[bytes], _NetlocResultMixinBytes): ... |
| 96 | +class ParseResultBytes(_ParseResultBytesBase, _NetlocResultMixinBytes): ... |
85 | 97 |
|
86 | 98 |
|
87 | 99 | def parse_qs(qs: str, keep_blank_values: bool = ..., strict_parsing: bool = ..., encoding: str = ..., errors: str = ...) -> Dict[str, List[str]]: ...
|
|
0 commit comments