[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