diff options
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 6ea0182852..5ff0b37bfc 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py | |||
@@ -31,11 +31,11 @@ BitBake build tools. | |||
31 | import copy, os, re, sys, time, types | 31 | import copy, os, re, sys, time, types |
32 | import bb | 32 | import bb |
33 | from bb import utils, methodpool | 33 | from bb import utils, methodpool |
34 | from COW import COWDictBase | 34 | from bb.COW import COWDictBase |
35 | from new import classobj | 35 | from new import classobj |
36 | 36 | ||
37 | 37 | ||
38 | __setvar_keyword__ = ["_append","_prepend"] | 38 | __setvar_keyword__ = ["_append", "_prepend"] |
39 | __setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?') | 39 | __setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?') |
40 | __expand_var_regexp__ = re.compile(r"\${[^{}]+}") | 40 | __expand_var_regexp__ = re.compile(r"\${[^{}]+}") |
41 | __expand_python_regexp__ = re.compile(r"\${@.+?}") | 41 | __expand_python_regexp__ = re.compile(r"\${@.+?}") |
@@ -51,7 +51,7 @@ class DataSmart: | |||
51 | 51 | ||
52 | self.expand_cache = {} | 52 | self.expand_cache = {} |
53 | 53 | ||
54 | def expand(self,s, varname): | 54 | def expand(self, s, varname): |
55 | def var_sub(match): | 55 | def var_sub(match): |
56 | key = match.group()[2:-1] | 56 | key = match.group()[2:-1] |
57 | if varname and key: | 57 | if varname and key: |
@@ -165,7 +165,7 @@ class DataSmart: | |||
165 | if not var in self.dict: | 165 | if not var in self.dict: |
166 | self.dict[var] = {} | 166 | self.dict[var] = {} |
167 | 167 | ||
168 | def _findVar(self,var): | 168 | def _findVar(self, var): |
169 | _dest = self.dict | 169 | _dest = self.dict |
170 | 170 | ||
171 | while (_dest and var not in _dest): | 171 | while (_dest and var not in _dest): |
@@ -189,7 +189,7 @@ class DataSmart: | |||
189 | else: | 189 | else: |
190 | self.initVar(var) | 190 | self.initVar(var) |
191 | 191 | ||
192 | def setVar(self,var,value): | 192 | def setVar(self, var, value): |
193 | self.expand_cache = {} | 193 | self.expand_cache = {} |
194 | match = __setvar_regexp__.match(var) | 194 | match = __setvar_regexp__.match(var) |
195 | if match and match.group("keyword") in __setvar_keyword__: | 195 | if match and match.group("keyword") in __setvar_keyword__: |
@@ -223,16 +223,16 @@ class DataSmart: | |||
223 | # setting var | 223 | # setting var |
224 | self.dict[var]["content"] = value | 224 | self.dict[var]["content"] = value |
225 | 225 | ||
226 | def getVar(self,var,exp): | 226 | def getVar(self, var, exp): |
227 | value = self.getVarFlag(var,"content") | 227 | value = self.getVarFlag(var, "content") |
228 | 228 | ||
229 | if exp and value: | 229 | if exp and value: |
230 | return self.expand(value,var) | 230 | return self.expand(value, var) |
231 | return value | 231 | return value |
232 | 232 | ||
233 | def renameVar(self, key, newkey): | 233 | def renameVar(self, key, newkey): |
234 | """ | 234 | """ |
235 | Rename the variable key to newkey | 235 | Rename the variable key to newkey |
236 | """ | 236 | """ |
237 | val = self.getVar(key, 0) | 237 | val = self.getVar(key, 0) |
238 | if val is not None: | 238 | if val is not None: |
@@ -246,30 +246,30 @@ class DataSmart: | |||
246 | dest = self.getVarFlag(newkey, i) or [] | 246 | dest = self.getVarFlag(newkey, i) or [] |
247 | dest.extend(src) | 247 | dest.extend(src) |
248 | self.setVarFlag(newkey, i, dest) | 248 | self.setVarFlag(newkey, i, dest) |
249 | 249 | ||
250 | if self._special_values.has_key(i) and key in self._special_values[i]: | 250 | if self._special_values.has_key(i) and key in self._special_values[i]: |
251 | self._special_values[i].remove(key) | 251 | self._special_values[i].remove(key) |
252 | self._special_values[i].add(newkey) | 252 | self._special_values[i].add(newkey) |
253 | 253 | ||
254 | self.delVar(key) | 254 | self.delVar(key) |
255 | 255 | ||
256 | def delVar(self,var): | 256 | def delVar(self, var): |
257 | self.expand_cache = {} | 257 | self.expand_cache = {} |
258 | self.dict[var] = {} | 258 | self.dict[var] = {} |
259 | 259 | ||
260 | def setVarFlag(self,var,flag,flagvalue): | 260 | def setVarFlag(self, var, flag, flagvalue): |
261 | if not var in self.dict: | 261 | if not var in self.dict: |
262 | self._makeShadowCopy(var) | 262 | self._makeShadowCopy(var) |
263 | self.dict[var][flag] = flagvalue | 263 | self.dict[var][flag] = flagvalue |
264 | 264 | ||
265 | def getVarFlag(self,var,flag): | 265 | def getVarFlag(self, var, flag): |
266 | local_var = self._findVar(var) | 266 | local_var = self._findVar(var) |
267 | if local_var: | 267 | if local_var: |
268 | if flag in local_var: | 268 | if flag in local_var: |
269 | return copy.copy(local_var[flag]) | 269 | return copy.copy(local_var[flag]) |
270 | return None | 270 | return None |
271 | 271 | ||
272 | def delVarFlag(self,var,flag): | 272 | def delVarFlag(self, var, flag): |
273 | local_var = self._findVar(var) | 273 | local_var = self._findVar(var) |
274 | if not local_var: | 274 | if not local_var: |
275 | return | 275 | return |
@@ -279,7 +279,7 @@ class DataSmart: | |||
279 | if var in self.dict and flag in self.dict[var]: | 279 | if var in self.dict and flag in self.dict[var]: |
280 | del self.dict[var][flag] | 280 | del self.dict[var][flag] |
281 | 281 | ||
282 | def setVarFlags(self,var,flags): | 282 | def setVarFlags(self, var, flags): |
283 | if not var in self.dict: | 283 | if not var in self.dict: |
284 | self._makeShadowCopy(var) | 284 | self._makeShadowCopy(var) |
285 | 285 | ||
@@ -288,7 +288,7 @@ class DataSmart: | |||
288 | continue | 288 | continue |
289 | self.dict[var][i] = flags[i] | 289 | self.dict[var][i] = flags[i] |
290 | 290 | ||
291 | def getVarFlags(self,var): | 291 | def getVarFlags(self, var): |
292 | local_var = self._findVar(var) | 292 | local_var = self._findVar(var) |
293 | flags = {} | 293 | flags = {} |
294 | 294 | ||
@@ -303,7 +303,7 @@ class DataSmart: | |||
303 | return flags | 303 | return flags |
304 | 304 | ||
305 | 305 | ||
306 | def delVarFlags(self,var): | 306 | def delVarFlags(self, var): |
307 | if not var in self.dict: | 307 | if not var in self.dict: |
308 | self._makeShadowCopy(var) | 308 | self._makeShadowCopy(var) |
309 | 309 | ||
@@ -333,21 +333,19 @@ class DataSmart: | |||
333 | def keys(self): | 333 | def keys(self): |
334 | def _keys(d, mykey): | 334 | def _keys(d, mykey): |
335 | if "_data" in d: | 335 | if "_data" in d: |
336 | _keys(d["_data"],mykey) | 336 | _keys(d["_data"], mykey) |
337 | 337 | ||
338 | for key in d.keys(): | 338 | for key in d.keys(): |
339 | if key != "_data": | 339 | if key != "_data": |
340 | mykey[key] = None | 340 | mykey[key] = None |
341 | keytab = {} | 341 | keytab = {} |
342 | _keys(self.dict,keytab) | 342 | _keys(self.dict, keytab) |
343 | return keytab.keys() | 343 | return keytab.keys() |
344 | 344 | ||
345 | def __getitem__(self,item): | 345 | def __getitem__(self, item): |
346 | #print "Warning deprecated" | 346 | #print "Warning deprecated" |
347 | return self.getVar(item, False) | 347 | return self.getVar(item, False) |
348 | 348 | ||
349 | def __setitem__(self,var,data): | 349 | def __setitem__(self, var, data): |
350 | #print "Warning deprecated" | 350 | #print "Warning deprecated" |
351 | self.setVar(var,data) | 351 | self.setVar(var, data) |
352 | |||
353 | |||