[kernel-team] 43/86: Update.
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 c75c7c1eb25881d3319370a041f5cbd0281c3ea5
Author: Bastian Blank <waldi at debian.org>
Date: Mon Mar 16 22:04:50 2009 +0000
Update.
svn path=/people/waldi/utils/kconfigeditor2/; revision=13138
---
utils/kconfigeditor2/bin/process.py | 1 +
.../lib/kconfigeditor/kconfig/config.py | 137 +++++++++++----------
2 files changed, 76 insertions(+), 62 deletions(-)
diff --git a/utils/kconfigeditor2/bin/process.py b/utils/kconfigeditor2/bin/process.py
index d4694cf..274069e 100755
--- a/utils/kconfigeditor2/bin/process.py
+++ b/utils/kconfigeditor2/bin/process.py
@@ -35,6 +35,7 @@ def main(package, source, config_output, ignore_silent):
os.rename(filename_tmp, filename)
except:
os.unlink(filename_tmp)
+ raise
if __name__ == '__main__':
try:
diff --git a/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py b/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
index fcae8b8..67a92f0 100644
--- a/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
+++ b/utils/kconfigeditor2/lib/kconfigeditor/kconfig/config.py
@@ -11,51 +11,83 @@ class File(dict):
self.read(fd)
- def _dump_file_choice(self, processed, ignored, visible, f):
+ def _write(self, menufiles):
+ visible = self._write_check_visible(menufiles)
+
+ processed = set()
+ ignored = set()
+
+ for file in menufiles:
+ for i in self._write_file(processed, ignored, visible, file):
+ yield i
+
+ unprocessed = set(self) - processed - ignored
+ if unprocessed:
+ yield '##'
+ yield '## file: unknown'
+ yield '##'
+ unprocessed = list(unprocessed)
+ unprocessed.sort()
+ for name in unprocessed:
+ yield str(self.get(name))
+ yield ''
+
+ def _write_file(self, processed, ignored, visible, file):
+ ret = []
+
+ for entry in file:
+ if isinstance(entry, MenuEntryConfig):
+ ret.extend(self._write_entry_config(processed, ignored, visible, entry))
+ elif isinstance(entry, MenuEntryChoice):
+ ret.extend(self._write_entry_choice(processed, ignored, visible, entry))
+
+ if ret:
+ yield '##'
+ yield '## file: %s' % file.filename
+ yield '##'
+ for i in ret:
+ yield i
+ yield ''
+
+ def _write_entry_choice(self, processed, ignored, visible, entry):
ret = []
nr = 0
- for i in f:
- if isinstance(i, MenuEntryConfig):
- r = self._dump_file_config(processed, ignored, visible, i)
+
+ for subentry in entry:
+ if isinstance(subentry, MenuEntryConfig):
+ r = list(self._write_entry_config(processed, ignored, visible, subentry))
+ ret.extend(r)
if r:
- ret.extend(r)
nr += 1
- incomplete = len(f) != nr
+
+ incomplete = len(entry) != nr
+
if ret:
- if incomplete:
- ret.insert(0, "## choice: INCOMPLETE: %s" % f.prompt)
+ if incomplete and 0:
+ yield '## choice: INCOMPLETE: %s' % entry.prompt
else:
- ret.insert(0, "## choice: %s" % f.prompt)
- ret.append('## end choice')
- return ret
+ yield '## choice: %s' % entry.prompt
+ for i in ret:
+ yield i
+ yield '## end choice'
- def _dump_file_config(self, processed, ignored, visible, i):
- e = self.get(i.name, None)
- if e is None:
- return []
-
- if i.name in processed:
- return []
- if not i.prompt:
- if i.name in visible:
- return []
- if ignored is not None:
- ignored.add(i.name)
- return []
- processed.add(i.name)
- return e.dump(i)
-
- 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, visible, i))
- elif isinstance(i, MenuEntryChoice):
- ret.extend(self._dump_file_choice(processed, ignored, visible, i))
- if ret:
- ret[0:0] = ["##", "## file: %s" % f.filename, "##"]
- ret.append('')
- return ret
+ def _write_entry_config(self, processed, ignored, visible, entry):
+ value = self.get(entry.name)
+ if value is None:
+ return
+
+ if entry.name in processed:
+ return
+
+ if not entry.prompt:
+ if entry.name in visible:
+ return
+ ignored.add(entry.name)
+ return
+
+ processed.add(entry.name)
+ for i in value.dump(entry):
+ yield i
def _write_check_visible(self, menufiles):
ret = set()
@@ -72,7 +104,9 @@ class File(dict):
for menuentry in flatten():
entry = self.get(menuentry.name)
if entry and menuentry.prompt:
- visible.add(menuentry.name)
+ ret.add(menuentry.name)
+
+ return ret
def write(self, fd, menufiles, ignore_silent=False):
def menufiles_cmp_key(entry):
@@ -85,29 +119,8 @@ class File(dict):
menufiles.sort(key=menufiles_cmp_key)
- visible = self.__write_check_visible(menufiles)
-
- ret = []
- processed = set()
- ignored_sub = ignored = set()
- if not ignore_silent:
- ignored_sub = None
- for f in menufiles:
- ret.extend(self._dump_file(processed, ignored_sub, visible, f))
-
- s = set(self.keys())
- unprocessed = s - processed - ignored
- if unprocessed:
- ret.extend(["##", "## file: unknown", "##"])
- unprocessed = list(unprocessed)
- unprocessed.sort()
- for i in unprocessed:
- e = self.get(i)
- ret.append(e)
- ret.append('')
-
- for i in ret:
- fd.write(str(i) + "\n")
+ for data in self._write(menufiles):
+ fd.write(data + '\n')
def read(self, f):
comments = []
--
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