- connect_accepted_socket isn't a member of AbstractEventLoop, only
BaseEventLoop
- fix types of arguments with defaults. some of these functions could
have their signatures improved with overloads to reduce false negatives
- correctly mark a positional-only argument
- remove abstractmethod from methods that don't have abstractmethod and
go unimplemented in practice
the `rfile` and `wfile` members are already implemented by
StreamRequestHandler. In addition to them several (undocumented)
class and instance variables exist according to
<https://github.com/python/cpython/blob/master/Lib/socketserver.py#L742>:
- `rbufsize`
- `wbufsize`
- `timeout`
- `disable_nagle_algorithm`
- `packet` and `socket` for datagrams
The already exist with Python 2.7
<https://github.com/python/cpython/blob/2.7/Lib/SocketServer.py#L677>
```mermaid
classDiagram
BaseRequestHandler <|-- DatagramRequestHandler
BaseRequestHandler <|-- StreamRequestHandler
StreamRequestHandler <|-- BaseHTTPRequestHandler
```
It doesn't actually have __call__, it does some descriptor stuff, but
this makes things work. _SingleDispatchCallable has a __call__ too,
which is what this mirrors.
Fixes#3898
NodeVisitor recurses over an AST tree. When encountering a node, it
checks if a method called `visit_{node.__class__.__name__}` exists, and
calls it if so, otherwise calls the generic visitor.
Add the possible methods to NodeVisitor. This is not exactly correct,
since the methods don't *actually* exist on NodeVisitor, e.g.
`NodeVisitor().visit_Module(...)` doesn't work. But it's nice for
subclasses to know which methods they can override and which type they
should have.
* Add macurl2path stub, types based on urllib
* Fix types, remove undocumented
The whole module is undocumented, no reason to just mention it on one call
* Module was removed in 3.7, stubtest shouldn't care about it
* Module was removed in 3.7, stubtest shouldn't care about it
* fcntl: mark positional-only args
* fcntl: use overload for fcntl.fcntl
The comment about depending on the type of arg seems incorrect
bf501353a0
I checked the docs and examples, CPython implementation and CPython tests, but
I might be missing something
* fcntl: use overload for fcntl.ioctl
Based off of docs and examples
* fcntl: type buffers better
Follows the approach in #2610
* sre_parse: NIC is stub implementation detail
* sre_parse: add missing arg to Tokenizer.getuntil
* sre_parse: fix types for parse
* sre_parse: fix types for SubPattern.__init__
* sre_parse: fix arg name for fix_flags
* sre_parse: update whitelists
* sre_parse: fix some availability for py35
* json: mark keyword-only args
Technically only true for Python 3.6+, but I didn't feel like copying
over the whole file just for Python 3.5. Let me know and I can.
* json: remove encoding from loads
This has been ignored and deprecated since 3.1 and will be removed in 3.9
It no longer even shows up in inspect.signature (in 3.8 it emits the
deprecation warning based on kwargs)
* json: update whitelists