From db633015a4d7b0ba1e882f665e191f350932b2af Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Tue, 27 Feb 2018 14:23:46 +0100 Subject: [PATCH] Return "" for unwritten symbols in Symbol.config_string The previous return value was None. Returning "" makes write_config() neater and feels a bit more Pythonic. It might simplify the implementation of some planned features as well. This is a small API break, so the major version will be bumped to 4 in the next release. Only code that explicitly tests Symbol.config_string against None will be affected: 'if sym.config_string is None:' will break, but not 'if not sym.config_string:'. --- kconfiglib.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/kconfiglib.py b/kconfiglib.py index b676d4e0..c54d131a 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -930,9 +930,7 @@ def write_config(self, filename, if isinstance(item, Symbol): if not item._written: item._written = True - config_string = item.config_string - if config_string: - write(config_string) + write(item.config_string) elif expr_value(node.dep) and \ ((item == MENU and expr_value(node.visibility)) or @@ -2370,9 +2368,9 @@ class Symbol(object): config_string: The .config assignment string that would get written out for the symbol - by Kconfig.write_config(). None if no .config assignment would get - written out. In general, visible symbols, symbols with (active) defaults, - and selected symbols get written out. + by Kconfig.write_config(). Returns the empty string if no .config + assignment would get written out. In general, visible symbols, symbols + with (active) defaults, and selected symbols get written out. nodes: A list of MenuNodes for this symbol. Will contain a single MenuNode for @@ -2717,7 +2715,7 @@ def config_string(self): # is a hidden function call due to property magic. val = self.str_value if not self._write_to_conf: - return None + return "" if self.orig_type in (BOOL, TRISTATE): return "{}{}={}\n" \