summaryrefslogtreecommitdiff
path: root/examples/allnoconfig_simpler.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-10-30 00:50:09 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2017-10-30 01:14:20 +0100
commit989e9f77cfe8caabc7ac241572e9b52682901135 (patch)
tree9c70f1d1c08efc19803b4fe741ab1dd2c69b42cd /examples/allnoconfig_simpler.py
parent7bbaf7e7cf131d83931bfda2d2e8e5d6ef1b235f (diff)
Consistently use 0/1/2 for tristate values
Easier to work with, allowing e.g. direct comparisons with < and >. Make set_value() take 0, 1, 2 for bool and tristate symbols, and fix other APIs to match. Also: - Add introductions to various concepts in the module docstring. Document some more attributes. Still TODOs. - Rename the Config class to Kconfig. - Escape " and \ in the name of constant symbols when printing them. Also make the (un)escaping 100% consistent with how the C tools do it (\ before non-magic character should be unescaped too). - Clean up the escaping/unescaping code and provide two public escape()/unescape() functions. - Export the original MODULES-independent type in orig_type. It's needed for printing symbols in the reparsable __str__() Kconfig format with just public APIs. - Lots of other minor reorganizing and nits all over.
Diffstat (limited to 'examples/allnoconfig_simpler.py')
-rw-r--r--examples/allnoconfig_simpler.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/examples/allnoconfig_simpler.py b/examples/allnoconfig_simpler.py
index e732669..59a1bd4 100644
--- a/examples/allnoconfig_simpler.py
+++ b/examples/allnoconfig_simpler.py
@@ -12,17 +12,17 @@
# Kconfiglib immediately invalidates (flags for recalculation) all (possibly)
# dependent symbols when a value is assigned to a symbol, which slows this down
# a bit (due to tons of redundant invalidation), but makes any assignment
-# pattern safe ("just works"). Config.load_config() instead invalidates all
+# pattern safe ("just works"). Kconfig.load_config() instead invalidates all
# symbols up front, making it much faster. If you really need to eke out
# performance, look at how load_config() does things (which involves internal
# APIs that don't invalidate symbols). This has been fast enough for all cases
# I've seen so far though (around 3 seconds for this particular script on my
# Core i7 2600K, including the initial Kconfig parsing).
-from kconfiglib import Config, BOOL, TRISTATE
+from kconfiglib import Kconfig, BOOL, TRISTATE
import sys
-conf = Config(sys.argv[1])
+conf = Kconfig(sys.argv[1])
# Avoid warnings printed by Kconfiglib when assigning a value to a symbol that
# has no prompt. Such assignments never have an effect.
@@ -30,6 +30,6 @@ conf.disable_warnings()
for sym in conf.defined_syms:
if sym.type in (BOOL, TRISTATE):
- sym.set_value("y" if sym.is_allnoconfig_y else "n")
+ sym.set_value(2 if sym.is_allnoconfig_y else 0)
conf.write_config(".config")