diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-07 12:25:24 +0000 |
---|---|---|
committer | Chris Larson <chris_larson@mentor.com> | 2010-12-08 21:18:30 -0700 |
commit | 6b6ae76ba57ec5151529c647da3f9c66c382de82 (patch) | |
tree | c8bd5c30184fd26ce17261b56de0be587b890dda /lib/bb/data_smart.py | |
parent | ba95240541cefa0984dc506719a15929bf1157da (diff) | |
download | bitbake-6b6ae76ba57ec5151529c647da3f9c66c382de82.tar.gz |
bitbake/data_smart: Refactor _append/_prepend code to remove duplication
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r-- | lib/bb/data_smart.py | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index abfb20da2..a6193289a 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -142,42 +142,29 @@ class DataSmart(MutableMapping): logger.info("Untracked delVar") # now on to the appends and prepends - if "_append" in self._special_values: - appends = self._special_values["_append"] or [] - for append in appends: - keep = [] - for (a, o) in self.getVarFlag(append, "_append") or []: - if o and not o in overrides: - keep.append((a ,o)) - continue - - sval = self.getVar(append, False) or "" - sval += a - self.setVar(append, sval) - # We save overrides that may be applied at some later stage - if keep: - self.setVarFlag(append, "_append", keep) - else: - self.delVarFlag(append, "_append") - - if "_prepend" in self._special_values: - prepends = self._special_values["_prepend"] or [] - for prepend in prepends: - keep = [] - for (a, o) in self.getVarFlag(prepend, "_prepend") or []: - if o and not o in overrides: - keep.append((a ,o)) - continue - - sval = a + (self.getVar(prepend, False) or "") - self.setVar(prepend, sval) - - # We save overrides that may be applied at some later stage - if keep: - self.setVarFlag(prepend, "_prepend", keep) - else: - self.delVarFlag(prepend, "_prepend") - + for op in __setvar_keyword__: + if op in self._special_values: + appends = self._special_values[op] or [] + for append in appends: + keep = [] + for (a, o) in self.getVarFlag(append, op) or []: + if o and not o in overrides: + keep.append((a ,o)) + continue + + if op is "_append": + sval = self.getVar(append, False) or "" + sval += a + self.setVar(append, sval) + elif op is "_prepend": + sval = a + (self.getVar(append, False) or "") + self.setVar(append, sval) + + # We save overrides that may be applied at some later stage + if keep: + self.setVarFlag(append, op, keep) + else: + self.delVarFlag(append, op) def initVar(self, var): self.expand_cache = {} |