This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2010年09月16日 16:38 by asolovyov, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Messages (3) | |||
|---|---|---|---|
| msg116573 - (view) | Author: Alexander Solovyov (asolovyov) | Date: 2010年09月16日 16:38 | |
Often it is useful to access some variable in other section for interpolation needs: for example, parent directory declared in common section could be used in configuration of certain components. Included patch can fix that (using syntax 'section.variable'), is there any chances that it could be applied? :)
--- ConfigParser.old.py 2010年09月16日 19:20:27.000000000 +0300
+++ ConfigParser.py 2010年09月16日 19:22:33.000000000 +0300
@@ -585,7 +585,7 @@
if "%(" in value:
value = self._KEYCRE.sub(self._interpolation_replace, value)
try:
- value = value % vars
+ value = value % _Context(self, section)
except KeyError, e:
raise InterpolationMissingOptionError(
option, section, rawval, e.args[0])
@@ -667,3 +667,15 @@
raise ValueError("invalid interpolation syntax in %r at "
"position %d" % (value, m.start()))
ConfigParser.set(self, section, option, value)
+
+
+class _Context(object):
+ def __init__(self, config, section):
+ self.config = config
+ self.section = section
+
+ def __getitem__(self, key):
+ if '.' in key:
+ return self.config.get(*key.split('.'))
+ else:
+ return self.config.get(self.section, key)
|
|||
| msg116609 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2010年09月16日 20:34 | |
Stable versions don’t get new features, only bug fixes. |
|||
| msg122080 - (view) | Author: Łukasz Langa (lukasz.langa) * (Python committer) | Date: 2010年11月22日 03:20 | |
Hopefully a form of this feature will be introduced as part of #10499. The discussion goes on there. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:06 | admin | set | github: 54085 |
| 2010年11月22日 03:20:05 | lukasz.langa | set | status: open -> closed resolution: duplicate superseder: Modular interpolation in configparser messages: + msg122080 |
| 2010年09月16日 20:34:28 | eric.araujo | set | nosy:
+ eric.araujo, fdrake, lukasz.langa messages: + msg116609 versions: + Python 3.2, - Python 2.7 |
| 2010年09月16日 16:38:04 | asolovyov | create | |