This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: bug fix to prevent io.BytesIO from accepting arbitrary keyword arguments
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.0, Python 3.1
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: Nosy List: alexandre.vassalotti, benjamin.peterson, erickt, pitrou
Priority: normal Keywords: patch

Created on 2009-03-08 23:52 by erickt, last changed 2022-04-11 14:56 by admin. This issue is now closed.

File name Uploaded Description Edit
0001-Fix-io.BytesIO-to-not-accept-arbitrary-keywords.patch erickt, 2009-03-08 23:52
Messages (2)
msg83337 - (view) Author: Erick Tryzelaar (erickt) Date: 2009-03-08 23:52
I noticed that it was possible to specify arbitrary arguments to 

>>> io.BytesIO(b'foo', foo=1)
<_io.BytesIO object at 0x430150>

But io.StringIO doesn't:

>>> io.StringIO('foo', foo=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'foo' is an invalid keyword argument for this function

So, I've attached a little patch that uses the same technique 3.1a1 uses 
to parse the arguments. One thing to be aware of is that I named the 
kwarg "intial_bytes" just like instead of 
"inital_value" like io.StringIO. I'm not sure if it'd be desirable to be 
consistent between the two.
msg91283 - (view) Author: Alexandre Vassalotti (alexandre.vassalotti) * (Python committer) Date: 2009-08-04 23:21
Committed in r74316.

Date User Action Args
2022-04-11 14:56:46adminsetgithub: 49699
2009-08-04 23:21:23alexandre.vassalottisetstatus: open -> closed

nosy: + alexandre.vassalotti
messages: + msg91283

resolution: accepted
stage: resolved
2009-03-13 22:56:33pitrousetnosy: + pitrou, benjamin.peterson
2009-03-08 23:52:58ericktcreate