summaryrefslogtreecommitdiffstats
path: root/lib/bb/ui/crumbs/hobeventhandler.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb/ui/crumbs/hobeventhandler.py')
-rw-r--r--lib/bb/ui/crumbs/hobeventhandler.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/bb/ui/crumbs/hobeventhandler.py b/lib/bb/ui/crumbs/hobeventhandler.py
index 3f5bebaca..393c258e4 100644
--- a/lib/bb/ui/crumbs/hobeventhandler.py
+++ b/lib/bb/ui/crumbs/hobeventhandler.py
@@ -21,6 +21,7 @@
import gobject
import logging
+import ast
from bb.ui.crumbs.runningbuild import RunningBuild
class HobHandler(gobject.GObject):
@@ -357,7 +358,20 @@ class HobHandler(gobject.GObject):
def set_incompatible_license(self, incompat_license):
self.set_var_in_file("INCOMPATIBLE_LICENSE", incompat_license, "local.conf")
+ def set_extra_setting(self, extra_setting):
+ self.set_var_in_file("EXTRA_SETTING", extra_setting, "local.conf")
+
def set_extra_config(self, extra_setting):
+ old_extra_setting = ast.literal_eval(self.runCommand(["getVariable", "EXTRA_SETTING"]) or "{}")
+ if extra_setting:
+ self.set_var_in_file("EXTRA_SETTING", extra_setting, "local.conf")
+ else:
+ self.remove_var_from_file("EXTRA_SETTING")
+
+ #remove not needed settings from conf
+ for key in old_extra_setting:
+ if key not in extra_setting:
+ self.remove_var_from_file(key)
for key in extra_setting.keys():
value = extra_setting[key]
self.set_var_in_file(key, value, "local.conf")
@@ -477,6 +491,9 @@ class HobHandler(gobject.GObject):
self.server.runCommand(["setVarFile", var, val, default_file, "earlyAssign"])
self.runCommand(["disableDataTracking"])
+ def remove_var_from_file(self, var):
+ self.server.runCommand(["removeVarFile", var])
+
def append_var_in_file(self, var, val, default_file=None):
self.server.runCommand(["setVarFile", var, val, default_file, "append"])