classification
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
process
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 2009-08-04 23:21 by alexandre.vassalotti. This issue is now closed.

Files
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:

>>> 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 http://docs.python.org/3.0/library/io.html#io.BytesIO 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.

Thanks!
History
Date User Action Args
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