[kernel-team] 42/86: Cleanup visible entry handling.
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Mon Dec 21 00:34:57 UTC 2015
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch benh/kconfigeditor2
in repository kernel-team.
commit 63a3b06ba9bf40ddae3d862ebcf4269843ebb633
Author: Bastian Blank <waldi at debian.org>
Date: Mon Mar 16 21:12:43 2009 +0000
Cleanup visible entry handling.
svn path=/people/waldi/utils/kconfigeditor2/; revision=13136
---
.../lib/kconfigeditor/kconfig/config.py | 48 +++++++++++-----------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py b/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
index 612d011..fcae8b8 100644
--- a/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
+++ b/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
@@ -11,12 +11,12 @@ class File(dict):
self.read(fd)
- def _dump_file_choice(self, processed, ignored, have_prompt, f):
+ def _dump_file_choice(self, processed, ignored, visible, f):
ret = []
nr = 0
for i in f:
if isinstance(i, MenuEntryConfig):
- r = self._dump_file_config(processed, ignored, have_prompt, i)
+ r = self._dump_file_config(processed, ignored, visible, i)
if r:
ret.extend(r)
nr += 1
@@ -29,7 +29,7 @@ class File(dict):
ret.append('## end choice')
return ret
- def _dump_file_config(self, processed, ignored, have_prompt, i):
+ def _dump_file_config(self, processed, ignored, visible, i):
e = self.get(i.name, None)
if e is None:
return []
@@ -37,7 +37,7 @@ class File(dict):
if i.name in processed:
return []
if not i.prompt:
- if i.name in have_prompt:
+ if i.name in visible:
return []
if ignored is not None:
ignored.add(i.name)
@@ -45,32 +45,34 @@ class File(dict):
processed.add(i.name)
return e.dump(i)
- def _dump_file(self, processed, ignored, have_prompt, f):
+ def _dump_file(self, processed, ignored, visible, f):
ret = []
for i in f:
if isinstance(i, MenuEntryConfig):
- ret.extend(self._dump_file_config(processed, ignored, have_prompt, i))
+ ret.extend(self._dump_file_config(processed, ignored, visible, i))
elif isinstance(i, MenuEntryChoice):
- ret.extend(self._dump_file_choice(processed, ignored, have_prompt, i))
+ ret.extend(self._dump_file_choice(processed, ignored, visible, i))
if ret:
ret[0:0] = ["##", "## file: %s" % f.filename, "##"]
ret.append('')
return ret
- def _dump_prompt_file_config(self, have_prompt, i):
- e = self.get(i.name, None)
- if e is not None:
- if i.prompt:
- have_prompt.add(i.name)
+ def _write_check_visible(self, menufiles):
+ ret = set()
- def _dump_prompt_file(self, have_prompt, f):
- for i in f:
- if isinstance(i, MenuEntryConfig):
- self._dump_prompt_file_config(have_prompt, i)
- elif isinstance(i, MenuEntryChoice):
- for i1 in i:
- if isinstance(i1, MenuEntryConfig):
- self._dump_prompt_file_config(have_prompt, i1)
+ def flatten():
+ for file in menufiles:
+ for entry in file:
+ if isinstance(entry, MenuEntryConfig):
+ yield entry
+ elif isinstance(entry, MenuEntryChoice):
+ for i in entry:
+ yield i
+
+ for menuentry in flatten():
+ entry = self.get(menuentry.name)
+ if entry and menuentry.prompt:
+ visible.add(menuentry.name)
def write(self, fd, menufiles, ignore_silent=False):
def menufiles_cmp_key(entry):
@@ -83,9 +85,7 @@ class File(dict):
menufiles.sort(key=menufiles_cmp_key)
- have_prompt = set()
- for f in menufiles:
- self._dump_prompt_file(have_prompt, f)
+ visible = self.__write_check_visible(menufiles)
ret = []
processed = set()
@@ -93,7 +93,7 @@ class File(dict):
if not ignore_silent:
ignored_sub = None
for f in menufiles:
- ret.extend(self._dump_file(processed, ignored_sub, have_prompt, f))
+ ret.extend(self._dump_file(processed, ignored_sub, visible, f))
s = set(self.keys())
unprocessed = s - processed - ignored
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/kernel-team.git
More information about the Kernel-svn-changes
mailing list