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.
*raw* stream. If the *buffer_size* is not given, it defaults to
: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
those from :class:`BufferedIOBase` and :class:`IOBase`:
...
...
@@ -631,8 +629,6 @@ than raw I/O does.
in the first argument. If the *buffer_size* is omitted it defaults to
: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:`BufferedWriter` can do.
...
...
@@ -647,9 +643,6 @@ than raw I/O does.
writeable respectively. If the *buffer_size* is omitted it defaults to
: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
except for :meth:`~BufferedIOBase.detach`, which raises
:exc:`UnsupportedOperation`.
...
...
Lib/_pyio.py
View file @
109d5735
...
...
@@ -5,7 +5,6 @@ Python implementation of the io module.
import
os
import
abc
import
codecs
import
warnings
import
errno
# Import _thread instead of threading to reduce startup cost
try
:
...
...
@@ -1065,19 +1064,13 @@ class BufferedWriter(_BufferedIOMixin):
DEFAULT_BUFFER_SIZE.
"""
_warning_stack_offset
=
2
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
if
not
raw
.
writable
():
raise
IOError
(
'"raw" argument must be writable.'
)
_BufferedIOMixin
.
__init__
(
self
,
raw
)
if
buffer_size
<=
0
:
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
.
_write_buf
=
bytearray
()
self
.
_write_lock
=
Lock
()
...
...
@@ -1167,15 +1160,11 @@ class BufferedRWPair(BufferedIOBase):
# XXX The usefulness of this (compared to having two separate IO
# objects) is questionable.
def
__init__
(
self
,
reader
,
writer
,
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
def
__init__
(
self
,
reader
,
writer
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
"""Constructor.
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
():
raise
IOError
(
'"reader" argument must be readable.'
)
...
...
@@ -1232,13 +1221,10 @@ class BufferedRandom(BufferedWriter, BufferedReader):
defaults to DEFAULT_BUFFER_SIZE.
"""
_warning_stack_offset
=
3
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
,
max_buffer_size
=
None
):
def
__init__
(
self
,
raw
,
buffer_size
=
DEFAULT_BUFFER_SIZE
):
raw
.
_checkSeekable
()
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
):
if
whence
not
in
valid_seek_flags
:
...
...
Lib/test/test_io.py
View file @
109d5735
...
...
@@ -1255,9 +1255,8 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
self
.
assertRaises
(
IOError
,
bufio
.
tell
)
self
.
assertRaises
(
IOError
,
bufio
.
write
,
b"abcdef"
)
def
test_max_buffer_size_deprecation
(
self
):
with
support
.
check_warnings
((
"max_buffer_size is deprecated"
,
DeprecationWarning
)):
def
test_max_buffer_size_removal
(
self
):
with
self
.
assertRaises
(
TypeError
):
self
.
tp
(
self
.
MockRawIO
(),
8
,
12
)
...
...
@@ -1313,9 +1312,8 @@ class BufferedRWPairTest(unittest.TestCase):
pair
=
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
())
self
.
assertRaises
(
self
.
UnsupportedOperation
,
pair
.
detach
)
def
test_constructor_max_buffer_size_deprecation
(
self
):
with
support
.
check_warnings
((
"max_buffer_size is deprecated"
,
DeprecationWarning
)):
def
test_constructor_max_buffer_size_removal
(
self
):
with
self
.
assertRaises
(
TypeError
):
self
.
tp
(
self
.
MockRawIO
(),
self
.
MockRawIO
(),
8
,
12
)
def
test_constructor_with_not_readable
(
self
):
...
...
Misc/NEWS
View file @
109d5735
...
...
@@ -23,6 +23,9 @@ Core and Builtins
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 #14814: implement more consistent ordering and sorting behaviour
...
...
Modules/_io/bufferedio.c
View file @
109d5735
...
...
@@ -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
*/
...
...
@@ -1776,7 +1767,7 @@ PyDoc_STRVAR(bufferedwriter_doc,
"
\n
"
"The constructor creates a BufferedWriter for the given writeable raw
\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
...
...
@@ -1789,23 +1780,18 @@ _bufferedwriter_reset_buf(buffered *self)
static
int
bufferedwriter_init
(
buffered
*
self
,
PyObject
*
args
,
PyObject
*
kwds
)
{
/* TODO: properly deprecate max_buffer_size */
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
max_buffer_size
=
-
234
;
PyObject
*
raw
;
self
->
ok
=
0
;
self
->
detached
=
0
;
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n
n
:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
,
&
max_buffer_size
))
{
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
))
{
return
-
1
;
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_writable
(
raw
,
Py_True
)
==
NULL
)
return
-
1
;
...
...
@@ -2186,16 +2172,12 @@ bufferedrwpair_init(rwpair *self, PyObject *args, PyObject *kwds)
{
PyObject
*
reader
,
*
writer
;
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
,
&
buffer_size
,
&
max_buffer_size
))
{
if
(
!
PyArg_ParseTuple
(
args
,
"OO|n:BufferedRWPair"
,
&
reader
,
&
writer
,
&
buffer_size
))
{
return
-
1
;
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_readable
(
reader
,
Py_True
)
==
NULL
)
return
-
1
;
if
(
_PyIOBase_check_writable
(
writer
,
Py_True
)
==
NULL
)
...
...
@@ -2420,28 +2402,24 @@ PyDoc_STRVAR(bufferedrandom_doc,
"
\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
"
"defaults to DEFAULT_BUFFER_SIZE.
max_buffer_size isn't used anymore.
\n
"
"defaults to DEFAULT_BUFFER_SIZE.
\n
"
);
static
int
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
max_buffer_size
=
-
234
;
PyObject
*
raw
;
self
->
ok
=
0
;
self
->
detached
=
0
;
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n
n
:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
,
&
max_buffer_size
))
{
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kwds
,
"O|n:BufferedReader"
,
kwlist
,
&
raw
,
&
buffer_size
))
{
return
-
1
;
}
if
(
max_buffer_size
!=
-
234
&&
!
complain_about_max_buffer_size
())
return
-
1
;
if
(
_PyIOBase_check_seekable
(
raw
,
Py_True
)
==
NULL
)
return
-
1
;
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