summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-08 18:02:15 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-10 11:51:11 +0000
commit2203a31dcbc89cc8226c483f5d18cf451725792c (patch)
tree91b571ac9f65a003b00e14b95cdeea11dd310156 /bitbake
parent12c6bcbf49d8be27545c132e6f8a18ab4b8fbccd (diff)
downloadast2050-yocto-poky-2203a31dcbc89cc8226c483f5d18cf451725792c.zip
ast2050-yocto-poky-2203a31dcbc89cc8226c483f5d18cf451725792c.tar.gz
data_smart: Add appendVar/prependVar functions
This patch adds appendVar and prependVar functions to the data store meaning python code would no longer have to do the getVar, append and the setVar dance that much of the current python code does. It also adds corresponding variants for flags. Currently there is no spacing added by these functions. That could be added as a parameter if desired. If these functions turn out to be hotspots in the code, there are tricks that could potentially be used to increase the speed of these specific operations within the datastore. (Bitbake rev: 4a4046268f84b85559eea2c4b6a6004ad8cccb77) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/data_smart.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 072f403..ec4e921 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -304,6 +304,14 @@ class DataSmart(MutableMapping):
self.delVar(key)
+ def appendVar(self, key, value):
+ value = (self.getVar(key, False) or "") + value
+ self.setVar(key, value)
+
+ def prependVar(self, key, value):
+ value = value + (self.getVar(key, False) or "")
+ self.setVar(key, value)
+
def delVar(self, var):
self.expand_cache = {}
self.dict[var] = {}
@@ -339,6 +347,14 @@ class DataSmart(MutableMapping):
if var in self.dict and flag in self.dict[var]:
del self.dict[var][flag]
+ def appendVarFlag(self, key, flag, value):
+ value = (self.getVarFlag(key, flag, False) or "") + value
+ self.setVarFlag(key, flag, value)
+
+ def prependVarFlag(self, key, flag, value):
+ value = value + (self.getVarFlag(key, flag, False) or "")
+ self.setVarFlag(key, flag, value)
+
def setVarFlags(self, var, flags):
if not var in self.dict:
self._makeShadowCopy(var)
OpenPOWER on IntegriCloud