Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
109d5735
Commit
109d5735
authored
Jul 07, 2012
by
Florent Xicluna
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #13248: io: Remove obsolete argument "max_buffer_size" of BufferedWriter and BufferedRWPair.
parent
af1adbee
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
21 additions
and
63 deletions
+21
-63
Doc/library/io.rst
Doc/library/io.rst
+0
-7
Lib/_pyio.py
Lib/_pyio.py
+4
-18
Lib/test/test_io.py
Lib/test/test_io.py
+4
-6
Misc/NEWS
Misc/NEWS
+3
-0
Modules/_io/bufferedio.c
Modules/_io/bufferedio.c
+10
-32
No files found.
Doc/library/io.rst
View file @
109d5735
...
@@ -604,8 +604,6 @@ than raw I/O does.
...
@@ -604,8 +604,6 @@ than raw I/O does.
*raw* stream. If the *buffer_size* is not given, it defaults to
*raw* stream. If the *buffer_size* is not given, it defaults to
:data:`DEFAULT_BUFFER_SIZE`.
:data:`DEFAULT_BUFFER_SIZE`.
A third argument, *max_buffer_size*, is supported, but unused and deprecated.
:class:`BufferedWriter` provides or overrides these methods in addition to
:class:`BufferedWriter` provides or overrides these methods in addition to
those from :class:`BufferedIOBase` and :class:`IOBase`:
those from :class:`BufferedIOBase` and :class:`IOBase`:
...
@@ -631,8 +629,6 @@ than raw I/O does.
...
@@ -631,8 +629,6 @@ than raw I/O does.
in the first argument. If the *buffer_size* is omitted it defaults to
in the first argument. If the *buffer_size* is omitted it defaults to
:data:`DEFAULT_BUFFER_SIZE`.
:data:`DEFAULT_BUFFER_SIZE`.
A third argument, *max_buffer_size*, is supported, but unused and deprecated.
:class:`BufferedRandom` is capable of anything :class:`BufferedReader` or
:class:`BufferedRandom` is capable of anything :class:`BufferedReader` or
:class:`BufferedWriter` can do.
:class:`BufferedWriter` can do.
...
@@ -647,9 +643,6 @@ than raw I/O does.
...
@@ -647,9 +643,6 @@ than raw I/O does.
writeable respectively. If the *buffer_size* is omitted it defaults to
writeable respectively. If the *buffer_size* is omitted it defaults to
:data:`DEFAULT_BUFFER_SIZE`.
:data:`DEFAULT_BUFFER_SIZE`.
A fourth argument, *max_buffer_size*, is supported, but unused and
deprecated.
:class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\'s methods
:class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\'s methods
except for :meth:`~BufferedIOBase.detach`, which raises
except for :meth:`~BufferedIOBase.detach`, which raises
:exc:`UnsupportedOperation`.
:exc:`UnsupportedOperation`.
...
...
Lib/_pyio.py
View file @
109d5735
...
@@ -5,7 +5,6 @@ Python implementation of the io module.
...
@@ -5,7 +5,6 @@ Python implementation of the io module.
import
os
import
os
import
abc
import
abc
import
codecs
import
codecs
import
warnings
import
errno
import
errno
# Import _thread instead of threading to reduce startup cost
# Import _thread instead of threading to reduce startup cost
try
:
try
:
...
@@ -1065,19 +1064,13 @@ class BufferedWriter(_BufferedIOMixin):
...
@@ -1065,19 +1064,13 @@ class BufferedWriter(_BufferedIOMixin):
DEFAULT_BUFFER_SIZE.
DEFAULT_BUFFER_SIZE.
"""
"""
_warning_stack_offset
=
2
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
if
not
raw
.
writable
():
if
not
raw
.
writable
():
raise
IOError
(
'"raw" argument must be writable.'
)
raise
IOError
(
'"raw" argument must be writable.'
)
_BufferedIOMixin
.
__init__
(
self
,
raw
)
_BufferedIOMixin
.
__init__
(
self
,
raw
)
if
buffer_size
<=
0
:
if
buffer_size
<=
0
:
raise
ValueError
(
"invalid buffer size"
)
raise
ValueError
(
"invalid buffer size"
)
if
max_buffer_size
is
not
None
:
warnings
.
warn
(
"max_buffer_size is deprecated"
,
DeprecationWarning
,
self
.
_warning_stack_offset
)
self
.
buffer_size
=
buffer_size
self
.
buffer_size
=
buffer_size
self
.
_write_buf
=
bytearray
()
self
.
_write_buf
=
bytearray
()
self
.
_write_lock
=
Lock
()
self
.
_write_lock
=
Lock
()
...
@@ -1167,15 +1160,11 @@ class BufferedRWPair(BufferedIOBase):
...
@@ -1167,15 +1160,11 @@ class BufferedRWPair(BufferedIOBase):
# XXX The usefulness of this (compared to having two separate IO
# XXX The usefulness of this (compared to having two separate IO
# objects) is questionable.
# objects) is questionable.
def
__init__
(
self
,
reader
,
writer
,
def
__init__
(
self
,
reader
,
writer
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
"""Constructor.
"""Constructor.
The arguments are two RawIO instances.
The arguments are two RawIO instances.
"""
"""
if
max_buffer_size
is
not
None
:
warnings
.
warn
(
"max_buffer_size is deprecated"
,
DeprecationWarning
,
2
)
if
not
reader
.
readable
():
if
not
reader
.
readable
():
raise
IOError
(
'"reader" argument must be readable.'
)
raise
IOError
(
'"reader" argument must be readable.'
)
...
@@ -1232,13 +1221,10 @@ class BufferedRandom(BufferedWriter, BufferedReader):
...
@@ -1232,13 +1221,10 @@ class BufferedRandom(BufferedWriter, BufferedReader):
defaults to DEFAULT_BUFFER_SIZE.
defaults to DEFAULT_BUFFER_SIZE.
"""
"""
_warning_stack_offset
=
3
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
raw
.
_checkSeekable
()
raw
.
_checkSeekable
()
BufferedReader
.
__init__
(
self
,
raw
,
buffer_size
)
BufferedReader
.
__init__
(
self
,
raw
,
buffer_size
)
BufferedWriter
.
__init__
(
self
,
raw
,
buffer_size
,
max_buffer_size
)
BufferedWriter
.
__init__
(
self
,
raw
,
buffer_size
)
def
seek
(
self
,
pos
,
whence
=
0
):
def
seek
(
self
,
pos
,
whence
=
0
):
if
whence
not
in
valid_seek_flags
:
if
whence
not
in
valid_seek_flags
:
...
...
Lib/test/test_io.py
View file @
109d5735
...
@@ -1255,9 +1255,8 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
...
@@ -1255,9 +1255,8 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
self
.
assertRaises
(
IOError
,
bufio
.
tell
)
self
.
assertRaises
(
IOError
,
bufio
.
tell
)
self
.
assertRaises
(
IOError
,
bufio
.
write
,
b"abcdef"
)
self
.
assertRaises
(
IOError
,
bufio
.
write
,
b"abcdef"
)
def
test_max_buffer_size_deprecation
(
self
):
def
test_max_buffer_size_removal
(
self
):
with
support
.
check_warnings
((
"max_buffer_size is deprecated"
,
with
self
.
assertRaises
(
TypeError
):
DeprecationWarning
)):
self
.
tp
(
self
.
MockRawIO
(),
8
,
12
)
self
.
tp
(
self
.
MockRawIO
(),
8
,
12
)
...
@@ -1313,9 +1312,8 @@ class BufferedRWPairTest(unittest.TestCase):
...
@@ -1313,9 +1312,8 @@ class BufferedRWPairTest(unittest.TestCase):
pair
=
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
())
pair
=
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
())
self
.
assertRaises
(
self
.
UnsupportedOperation
,
pair
.
detach
)
self
.
assertRaises
(
self
.
UnsupportedOperation
,
pair
.
detach
)
def
test_constructor_max_buffer_size_deprecation
(
self
):
def
test_constructor_max_buffer_size_removal
(
self
):
with
support
.
check_warnings
((
"max_buffer_size is deprecated"
,
with
self
.
assertRaises
(
TypeError
):
DeprecationWarning
)):
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
(),
8
,
12
)
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
(),
8
,
12
)
def
test_constructor_with_not_readable
(
self
):
def
test_constructor_with_not_readable
(
self
):
...
...
Misc/NEWS
View file @
109d5735
...
@@ -23,6 +23,9 @@ Core and Builtins
...
@@ -23,6 +23,9 @@ Core and Builtins
Library
Library
-------
-------
- Issue #13248: Remove obsolete argument "max_buffer_size" of BufferedWriter
and BufferedRWPair, from the io module.
- Issue #13248: Remove obsolete argument "version" of argparse.ArgumentParser.
- Issue #13248: Remove obsolete argument "version" of argparse.ArgumentParser.
- Issue #14814: implement more consistent ordering and sorting behaviour
- Issue #14814: implement more consistent ordering and sorting behaviour
...
...
Modules/_io/bufferedio.c
View file @
109d5735
...
@@ -1759,15 +1759,6 @@ PyTypeObject PyBufferedReader_Type = {
...
@@ -1759,15 +1759,6 @@ PyTypeObject PyBufferedReader_Type = {
static
int
complain_about_max_buffer_size
(
void
)
{
if
(
PyErr_WarnEx
(
PyExc_DeprecationWarning
,
"max_buffer_size is deprecated"
,
1
)
<
0
)
return
0
;
return
1
;
}
/*
/*
* class BufferedWriter
* class BufferedWriter
*/
*/
...
@@ -1776,7 +1767,7 @@ PyDoc_STRVAR(bufferedwriter_doc,
...
@@ -1776,7 +1767,7 @@ PyDoc_STRVAR(bufferedwriter_doc,
"
\n
"
"
\n
"
"The constructor creates a BufferedWriter for the given writeable raw
\n
"
"The constructor creates a BufferedWriter for the given writeable raw
\n
"
"stream. If the buffer_size is not given, it defaults to
\n
"
"stream. If the buffer_size is not given, it defaults to
\n
"
"DEFAULT_BUFFER_SIZE.
max_buffer_size isn't used anymore.
\n
"
"DEFAULT_BUFFER_SIZE.
\n
"
);
);
static
void
static
void
...
@@ -1789,23 +1780,18 @@ _bufferedwriter_reset_buf(buffered *self)
...
@@ -1789,23 +1780,18 @@ _bufferedwriter_reset_buf(buffered *self)
static
int
static
int
bufferedwriter_init
(
buffered
*
self
,
PyObject
*
args
,
PyObject
*
kwds
)
bufferedwriter_init
(
buffered
*
self
,
PyObject
*
args
,
PyObject
*
kwds
)
{
{
/* TODO: properly deprecate max_buffer_size */
char
*
kwlist
[]
=
{
"raw"
,
"buffer_size"
,
NULL
};
char
*
kwlist
[]
=
{
"raw"
,
"buffer_size"
,
"max_buffer_size"
,
NULL
};
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
max_buffer_size
=
-
234
;
PyObject
*
raw
;
PyObject
*
raw
;
self
->
ok
=
0
;
self
->
ok
=
0
;
self
->
detached
=
0
;
self
->
detached
=
0
;
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n
n
:BufferedReader"
,
kwlist
,
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
,
&
max_buffer_size
))
{
&
raw
,
&
buffer_size
))
{
return
-
1
;
return
-
1
;
}
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_writable
(
raw
,
Py_True
)
==
NULL
)
if
(
_PyIOBase_check_writable
(
raw
,
Py_True
)
==
NULL
)
return
-
1
;
return
-
1
;
...
@@ -2186,16 +2172,12 @@ bufferedrwpair_init(rwpair *self, PyObject *args, PyObject *kwds)
...
@@ -2186,16 +2172,12 @@ bufferedrwpair_init(rwpair *self, PyObject *args, PyObject *kwds)
{
{
PyObject
*
reader
,
*
writer
;
PyObject
*
reader
,
*
writer
;
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
max_buffer_size
=
-
234
;
if
(
!
PyArg_ParseTuple
(
args
,
"OO|n
n
:BufferedRWPair"
,
&
reader
,
&
writer
,
if
(
!
PyArg_ParseTuple
(
args
,
"OO|n:BufferedRWPair"
,
&
reader
,
&
writer
,
&
buffer_size
,
&
max_buffer_size
))
{
&
buffer_size
))
{
return
-
1
;
return
-
1
;
}
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_readable
(
reader
,
Py_True
)
==
NULL
)
if
(
_PyIOBase_check_readable
(
reader
,
Py_True
)
==
NULL
)
return
-
1
;
return
-
1
;
if
(
_PyIOBase_check_writable
(
writer
,
Py_True
)
==
NULL
)
if
(
_PyIOBase_check_writable
(
writer
,
Py_True
)
==
NULL
)
...
@@ -2420,28 +2402,24 @@ PyDoc_STRVAR(bufferedrandom_doc,
...
@@ -2420,28 +2402,24 @@ PyDoc_STRVAR(bufferedrandom_doc,
"
\n
"
"
\n
"
"The constructor creates a reader and writer for a seekable stream,
\n
"
"The constructor creates a reader and writer for a seekable stream,
\n
"
"raw, given in the first argument. If the buffer_size is omitted it
\n
"
"raw, given in the first argument. If the buffer_size is omitted it
\n
"
"defaults to DEFAULT_BUFFER_SIZE.
max_buffer_size isn't used anymore.
\n
"
"defaults to DEFAULT_BUFFER_SIZE.
\n
"
);
);
static
int
static
int
bufferedrandom_init
(
buffered
*
self
,
PyObject
*
args
,
PyObject
*
kwds
)
bufferedrandom_init
(
buffered
*
self
,
PyObject
*
args
,
PyObject
*
kwds
)
{
{
char
*
kwlist
[]
=
{
"raw"
,
"buffer_size"
,
"max_buffer_size"
,
NULL
};
char
*
kwlist
[]
=
{
"raw"
,
"buffer_size"
,
NULL
};
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
buffer_size
=
DEFAULT_BUFFER_SIZE
;
Py_ssize_t
max_buffer_size
=
-
234
;
PyObject
*
raw
;
PyObject
*
raw
;
self
->
ok
=
0
;
self
->
ok
=
0
;
self
->
detached
=
0
;
self
->
detached
=
0
;
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n
n
:BufferedReader"
,
kwlist
,
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
,
&
max_buffer_size
))
{
&
raw
,
&
buffer_size
))
{
return
-
1
;
return
-
1
;
}
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_seekable
(
raw
,
Py_True
)
==
NULL
)
if
(
_PyIOBase_check_seekable
(
raw
,
Py_True
)
==
NULL
)
return
-
1
;
return
-
1
;
if
(
_PyIOBase_check_readable
(
raw
,
Py_True
)
==
NULL
)
if
(
_PyIOBase_check_readable
(
raw
,
Py_True
)
==
NULL
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment