* [PATCH RFC] data_smart: Add appendVar/prependVar functions
@ 2011-11-08 18:02 Richard Purdie
2011-11-08 22:22 ` Scott Garman
0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2011-11-08 18:02 UTC (permalink / raw)
To: bitbake-devel
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index d8ba24f..aa25c0a 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -298,6 +298,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] = {}
@@ -333,6 +341,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)
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH RFC] data_smart: Add appendVar/prependVar functions
2011-11-08 18:02 [PATCH RFC] data_smart: Add appendVar/prependVar functions Richard Purdie
@ 2011-11-08 22:22 ` Scott Garman
0 siblings, 0 replies; 2+ messages in thread
From: Scott Garman @ 2011-11-08 22:22 UTC (permalink / raw)
To: bitbake-devel
On 11/08/2011 10:02 AM, Richard Purdie wrote:
> 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.
So useful! Thanks for this.
Scott
--
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-11-08 22:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-08 18:02 [PATCH RFC] data_smart: Add appendVar/prependVar functions Richard Purdie
2011-11-08 22:22 ` Scott Garman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.