The documentation[1] says:
A comparison function is any callable that accept two arguments,
compares them, and returns a negative number for less-than, zero for
equality, or a positive number for greater-than.
This doesn't seem possible with the comparison function defined as
returning bool.
[1] https://docs.python.org/3.6/library/functools.html#functools.cmp_to_key
typing.AnyStr usage here was a mistake that I noticed too late,
from a GitHub comment[1]:
AnyStr is a type variable so in your version of
objectify.fromstring() the types if text and base_url have to
correspond -- but with unions they can each be either str or bytes,
and that's how the rest of the API is defined.
[1] https://github.com/python/typeshed/pull/436#issuecomment-237708512
From the BaseRequestHandler documentation:
handle()
This function must do all the work required to service a request.
The default implementation does nothing. Several instance attributes
are available to it; the request is available as self.request; the
client address as self.client_address; and the server instance as
self.server, in case it needs access to per-server information.
The type of self.request is different for datagram or stream
services. For stream services, self.request is a socket object;
for datagram services, self.request is a pair of string and
socket.
This patch:
* Adds some constants that although undocumented are exposed by the
module
* Modifies the signature of fcntl() to match reality
* Adds missing function stubs
* Modifies few existing constant declarations to match the repository
conventions
I believe the stub is complete now (and if it's not there isn't much
missing).
This is follow-up to a similar commit improving Python 2.7 inspect stub[1].
Similarly, this commit consists of:
* Splitting and reordering the content into sections corresponding
to the module's documentation sections
* Implementing missing functions, classes etc.
* Adding TODOs for things that are either difficult to get or I can't
figure them out right now
* Making the existing code consistent with the newly added things
As suggested in pull request #108 I'm modifying the generic Python 3
stub even though some things changed and were added in various Python
3.x releases - the changes seem to be backwards compatible and the
additions, well, they should not break much except for some false
positives on older Python 3 versions.
Some of the types in this stub were not obvious so I either read the
source code or used my judgment.
[1] 630f718376
inspect.currentframe() return a frame object on its own, not as a part
of a record.
Additionally the artificial _Frame type is unnecessary as
types.FrameType exists.
This patch consists of:
* Splitting and reordering the content into sections corresponding
to the module's documentation sections
* Implementing some missing functions
* Adding TODOs for missing stuff (I may've missed something)
The signature of isgenerator() (was: Any argument, is: argument of type
object) is changed for consistency with other is* functions I added
here, after some considerations I couldn't decide whether it should be
object or Any - if object is not advised please let me know.
This was missing for some reason while the Python 2.7 stubs have it.
Sample test code:
% cat testtype.py
A = type('A', (), {})
print(A.__name__)
Results before:
% python -m mypy --py2 testtype.py
% python -m mypy testtype.py
testtype.py:1: error: Too many arguments for "type"
%
Results after: type checking passes in both modes.