[Checkins]
SVN: zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.
Fixed issue with alternative operator spelling (omitting spaces).
Malthe Borch
mborch at gmail.com
Thu Jun 5 14:33:16 EDT 2008
Log message for revision 87176:
Fixed issue with alternative operator spelling (omitting spaces).
Changed:
U zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.py
U zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.txt
-=-
Modified: zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.py 2008-06-05 17:58:47 UTC (rev 87175)
+++ zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.py 2008-06-05 18:33:15 UTC (rev 87176)
@@ -1148,19 +1148,15 @@
def _update_section(s1, s2):
for k, v in s2.items():
- ks = k.split()
- key, sign = None, None
- if len(ks) == 2:
- key, sign = ks
-
- if k not in s1 and key in s1:
- if sign == '+':
- s2[key] = "\n".join(s1[key].split() + s2[k].split())
- del s2[k]
- elif sign == '-':
- s2[key] = "\n".join([v for v in s1[key].split()
- if v not in s2[k].split()])
- del s2[k]
+ if k.endswith('+'):
+ key = k.rstrip(' +')
+ s2[key] = "\n".join(s1.get(key, "").split() + s2[k].split())
+ del s2[k]
+ elif k.endswith('-'):
+ key = k.rstrip(' -')
+ s2[key] = "\n".join([v for v in s1.get(key, "").split()
+ if v not in s2[k].split()])
+ del s2[k]
s1.update(s2)
return s1
Modified: zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.txt
===================================================================
--- zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.txt 2008-06-05 17:58:47 UTC (rev 87175)
+++ zc.buildout/branches/plus-minus-option-syntax-for-review/src/zc/buildout/buildout.txt 2008-06-05 18:33:15 UTC (rev 87176)
@@ -933,15 +933,19 @@
... extends = base.cfg
... parts = part1 part2
...
+ ... # appending values
... [part1]
... option += a3 a4
...
+ ... # removing values
... [part2]
... option -= b1 b2
...
+ ... # alt. spelling
... [part3]
- ... option += c3 c4 c5
+ ... option+=c3 c4 c5
...
+ ... # normal assignment
... [part4]
... option = h1 h2
...
More information about the Checkins
mailing list