mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
items(): New method, provided by Gustavo Niemeyer in SF bug #545096.
This commit is contained in:
parent
309db061af
commit
2ca041fde0
2 changed files with 40 additions and 0 deletions
|
@ -189,6 +189,13 @@ values are checked in a case-insensitive manner. Any other value will
|
||||||
cause it to raise \exception{ValueError}.
|
cause it to raise \exception{ValueError}.
|
||||||
\end{methoddesc}
|
\end{methoddesc}
|
||||||
|
|
||||||
|
\begin{methoddesc}{items}{section\optional{, raw\optional{, vars}}}
|
||||||
|
Create a generator which will return a tuple \code{(name, value)} for
|
||||||
|
each option in the given \var{section}. Optional arguments have the
|
||||||
|
same meaning as for the \code{get()} method.
|
||||||
|
\versionadded{2.3}
|
||||||
|
\end{methoddesc}
|
||||||
|
|
||||||
\begin{methoddesc}{set}{section, option, value}
|
\begin{methoddesc}{set}{section, option, value}
|
||||||
If the given section exists, set the given option to the specified value;
|
If the given section exists, set the given option to the specified value;
|
||||||
otherwise raise \exception{NoSectionError}.
|
otherwise raise \exception{NoSectionError}.
|
||||||
|
|
|
@ -70,6 +70,10 @@ ConfigParser -- responsible for for parsing a list of
|
||||||
insensitively defined as 0, false, no, off for 0, and 1, true,
|
insensitively defined as 0, false, no, off for 0, and 1, true,
|
||||||
yes, on for 1). Returns 0 or 1.
|
yes, on for 1). Returns 0 or 1.
|
||||||
|
|
||||||
|
items(section, raw=0, vars=None)
|
||||||
|
return a list of tuples with (name, value) for each option
|
||||||
|
in the section.
|
||||||
|
|
||||||
remove_section(section)
|
remove_section(section)
|
||||||
remove the given file section and all its options
|
remove the given file section and all its options
|
||||||
|
|
||||||
|
@ -278,6 +282,35 @@ class ConfigParser:
|
||||||
return value
|
return value
|
||||||
return self._interpolate(section, option, value, d)
|
return self._interpolate(section, option, value, d)
|
||||||
|
|
||||||
|
def items(self, section, raw=0, vars=None):
|
||||||
|
"""Return a list of tuples with (name, value) for each option
|
||||||
|
in the section.
|
||||||
|
|
||||||
|
All % interpolations are expanded in the return values, based on the
|
||||||
|
defaults passed into the constructor, unless the optional argument
|
||||||
|
`raw' is true. Additional substitutions may be provided using the
|
||||||
|
`vars' argument, which must be a dictionary whose contents overrides
|
||||||
|
any pre-existing defaults.
|
||||||
|
|
||||||
|
The section DEFAULT is special.
|
||||||
|
"""
|
||||||
|
d = self.__defaults.copy()
|
||||||
|
try:
|
||||||
|
d.update(self.__sections[section])
|
||||||
|
except KeyError:
|
||||||
|
if section != DEFAULTSECT:
|
||||||
|
raise NoSectionError(section)
|
||||||
|
# Update with the entry specific variables
|
||||||
|
if vars:
|
||||||
|
d.update(vars)
|
||||||
|
if raw:
|
||||||
|
for option in self.options(section):
|
||||||
|
yield (option, d[option])
|
||||||
|
else:
|
||||||
|
for option in self.options(section):
|
||||||
|
yield (option,
|
||||||
|
self._interpolate(section, option, d[option], d))
|
||||||
|
|
||||||
def _interpolate(self, section, option, rawval, vars):
|
def _interpolate(self, section, option, rawval, vars):
|
||||||
# do the string interpolation
|
# do the string interpolation
|
||||||
value = rawval
|
value = rawval
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue