[Checkins] SVN: zc.buildout/branches/encolpe-escape-command/src/zc/buildout/buildout.py I suppose that we will not support recursive substitution
Encolpe DEGOUTE
encolpe.degoute at free.fr
Mon Feb 1 18:34:07 EST 2010
Log message for revision 108705:
I suppose that we will not support recursive substitution
Changed:
U zc.buildout/branches/encolpe-escape-command/src/zc/buildout/buildout.py
-=-
Modified: zc.buildout/branches/encolpe-escape-command/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/encolpe-escape-command/src/zc/buildout/buildout.py 2010-02-01 23:10:54 UTC (rev 108704)
+++ zc.buildout/branches/encolpe-escape-command/src/zc/buildout/buildout.py 2010-02-01 23:34:06 UTC (rev 108705)
@@ -1086,7 +1086,7 @@
def get(self, option, default=None, seen=None):
try:
- return self._data[option]
+ return self._data[option].replace('$$', '$')
except KeyError:
pass
@@ -1112,7 +1112,7 @@
seen.pop()
self._data[option] = v
- return v
+ return v.replace('$$', '$')
_template_split = re.compile('([$]{[^}]*})').split
_simple = re.compile('[-a-zA-Z0-9 ._]+$').match
@@ -1159,22 +1159,21 @@
def __getitem__(self, key):
try:
- return self._data[key]
+ return self._data[key].replace('$$', '$')
except KeyError:
pass
v = self.get(key)
if v is None:
raise MissingOption("Missing option: %s:%s" % (self.name, key))
- return v
+ return v.replace('$$', '$')
def __setitem__(self, option, value):
if not isinstance(value, str):
raise TypeError('Option values must be strings', value)
- if '$' in value:
- value = '$$'.join([chain.replace('$', '$$') for chain in value.split('$$')])
- self._data[option] = value
+ self._data[option] = value.replace('$', '$$')
+
def __delitem__(self, key):
if key in self._raw:
del self._raw[key]
More information about the checkins
mailing list