From 38339c48ec888fed1a9838dff070a79ec00a37c7 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Sat, 8 Dec 2012 08:02:19 +0100 Subject: Add a simpler allnoconfig example. --- examples/allnoconfig_simpler.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 examples/allnoconfig_simpler.py (limited to 'examples/allnoconfig_simpler.py') diff --git a/examples/allnoconfig_simpler.py b/examples/allnoconfig_simpler.py new file mode 100644 index 0000000..b80e79a --- /dev/null +++ b/examples/allnoconfig_simpler.py @@ -0,0 +1,23 @@ +# This is a simpler version of allnoconfig.py, corresponding to how the C +# implementation does it. Setting a user value that's not in the assignable +# range of the symbol (between get_lower_bound() and get_upper_bound(), or, +# equivalently, not in get_assignable_values()) is OK; the value will simply +# get truncated downwards or upwards as determined by the visibility and +# selects. + +# Note: This version will be very slow since Kconfiglib invalidates all +# dependent symbols for each set_value() call. This does not happen for +# load_config(), which instead invalidates all symbols once after the +# configuration has been loaded. This is OK for load_config() since nearly all +# symbols will tend to be affected anyway. + +import kconfiglib +import sys + +conf = kconfiglib.Config(sys.argv[1]) + +for sym in conf: + if sym.get_type() in (kconfiglib.BOOL, kconfiglib.TRISTATE): + sym.set_value("n") + +conf.write_config(".config") -- cgit v1.2.3