-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
gh-101819: Adapt _io._BufferedIOBase_Type methods to Argument Clinic #104355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…linic Make sure the defining class is passed to all methods, so we can easily fetch module state from them in the future.
@AlexWaygood, would you mind taking a look at the docstrings. I exploited this possibility to tweak them a little bit (consistent mood, etc.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docstrings look good -- two small points!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review after merge: LGTM.
The doc and docstring can be improved, but it's unrelated to this PR.
|
||
cls: defining_class | ||
/ | ||
*args: object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO the signature is wrong and should be fixed. It should have 1 optional positional argument, maybe called size. Look at other read() functions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I did think about that. I also think AC should be able to attach Py_UNUSED to unused arguments (I'm working on that.) I'll create a follow-up PR for fixing the clinic input. (This is not the only problematic usage of *args in _io.)
return all data until EOF. | ||
|
||
If the argument is positive, and the underlying raw stream is | ||
not 'interactive', multiple raw reads may be issued to satisfy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to clarify what "interactive" means. I suppose that it's related to "is it a TTY?" test.
The doc uses the same phrasing: https://docs.python.org/dev/library/io.html#io.BufferedIOBase.read
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. Let's improve that in a separate issue/PR. Good observation, though!
Make sure the defining class is passed to all methods,
so we can easily fetch module state from them in the future.
_io
extension module #101819