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
671cd329
Commit
671cd329
authored
Apr 10, 2013
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#17487: wave.getparams now returns a namedtuple.
Patch by Claudiu Popa.
parent
3f5ffbee
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
8 deletions
+38
-8
Doc/library/wave.rst
Doc/library/wave.rst
+3
-2
Doc/whatsnew/3.4.rst
Doc/whatsnew/3.4.rst
+6
-0
Lib/test/test_wave.py
Lib/test/test_wave.py
+16
-0
Lib/wave.py
Lib/wave.py
+10
-6
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Doc/library/wave.rst
View file @
671cd329
...
...
@@ -98,8 +98,9 @@ Wave_read objects, as returned by :func:`.open`, have the following methods:
.. method:: Wave_read.getparams()
Returns a tuple ``(nchannels, sampwidth, framerate, nframes, comptype,
compname)``, equivalent to output of the :meth:`get\*` methods.
Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth,
framerate, nframes, comptype, compname)``, equivalent to output of the
:meth:`get\*` methods.
.. method:: Wave_read.readframes(n)
...
...
Doc/whatsnew/3.4.rst
View file @
671cd329
...
...
@@ -157,6 +157,12 @@ doctest
Added ``FAIL_FAST`` flag to halt test running as soon as the first failure is
detected. (Contributed by R. David Murray and Daniel Urban in :issue:`16522`.)
wave
----
The :meth:`~wave.getparams` method now returns a namedtuple rather than a
plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)
Optimizations
=============
...
...
Lib/test/test_wave.py
View file @
671cd329
...
...
@@ -58,6 +58,22 @@ class TestWave(unittest.TestCase):
output
=
b'
\
0
'
*
nframes
*
nchannels
*
sampwidth
self
.
f
.
writeframes
(
output
)
def
test_getparams
(
self
):
self
.
f
=
wave
.
open
(
TESTFN
,
'wb'
)
self
.
f
.
setnchannels
(
nchannels
)
self
.
f
.
setsampwidth
(
sampwidth
)
self
.
f
.
setframerate
(
framerate
)
self
.
f
.
close
()
self
.
f
=
wave
.
open
(
TESTFN
,
'rb'
)
params
=
self
.
f
.
getparams
()
self
.
assertEqual
(
params
.
nchannels
,
self
.
f
.
getnchannels
())
self
.
assertEqual
(
params
.
nframes
,
self
.
f
.
getnframes
())
self
.
assertEqual
(
params
.
sampwidth
,
self
.
f
.
getsampwidth
())
self
.
assertEqual
(
params
.
framerate
,
self
.
f
.
getframerate
())
self
.
assertEqual
(
params
.
comptype
,
self
.
f
.
getcomptype
())
self
.
assertEqual
(
params
.
compname
,
self
.
f
.
getcompname
())
def
test_main
():
run_unittest
(
TestWave
)
...
...
Lib/wave.py
View file @
671cd329
...
...
@@ -18,7 +18,7 @@ This returns an instance of a class with the following public methods:
getcomptype() -- returns compression type ('NONE' for linear samples)
getcompname() -- returns human-readable version of
compression type ('not compressed' linear samples)
getparams() -- returns a tuple consisting of all of the
getparams() -- returns a
named
tuple consisting of all of the
above in the above order
getmarkers() -- returns None (for compatibility with the
aifc module)
...
...
@@ -90,6 +90,10 @@ else:
big_endian
=
0
from
chunk
import
Chunk
from
collections
import
namedtuple
_result
=
namedtuple
(
'params'
,
'nchannels sampwidth framerate nframes comptype compname'
)
class
Wave_read
:
"""Variables used in this class:
...
...
@@ -206,9 +210,9 @@ class Wave_read:
return
self
.
_compname
def
getparams
(
self
):
return
self
.
getnchannels
(),
self
.
getsampwidth
(),
\
self
.
getframerate
(),
self
.
getnframes
(),
\
self
.
getcomptype
(),
self
.
getcompname
(
)
return
_result
(
self
.
getnchannels
(),
self
.
getsampwidth
(),
self
.
getframerate
(),
self
.
getnframes
(),
self
.
getcomptype
(),
self
.
getcompname
()
)
def
getmarkers
(
self
):
return
None
...
...
@@ -398,8 +402,8 @@ class Wave_write:
def
getparams
(
self
):
if
not
self
.
_nchannels
or
not
self
.
_sampwidth
or
not
self
.
_framerate
:
raise
Error
(
'not all parameters set'
)
return
self
.
_nchannels
,
self
.
_sampwidth
,
self
.
_framerate
,
\
self
.
_nframes
,
self
.
_comptype
,
self
.
_compname
return
_result
(
self
.
_nchannels
,
self
.
_sampwidth
,
self
.
_framerate
,
self
.
_nframes
,
self
.
_comptype
,
self
.
_compname
)
def
setmark
(
self
,
id
,
pos
,
name
):
raise
Error
(
'setmark() not supported'
)
...
...
Misc/NEWS
View file @
671cd329
...
...
@@ -32,6 +32,9 @@ Core and Builtins
Library
-------
-
Issue
#
17487
:
The
wave
getparams
method
now
returns
a
namedtuple
rather
than
a
plain
tuple
.
-
Issue
#
17675
:
socket
repr
()
provides
local
and
remote
addresses
(
if
any
).
Patch
by
Giampaolo
Rodola
'
...
...
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