[kernel] r10802 - people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/package

Bastian Blank waldi at alioth.debian.org
Tue Mar 11 16:26:41 UTC 2008


Author: waldi
Date: Tue Mar 11 16:26:41 2008
New Revision: 10802

Log:
lib/kconfigeditor/kconfig/package/files.py: Also dump unknown settings.


Modified:
   people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/package/files.py

Modified: people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/package/files.py
==============================================================================
--- people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/package/files.py	(original)
+++ people/waldi/utils/kconfigeditor2/lib/kconfigeditor/kconfig/package/files.py	Tue Mar 11 16:26:41 2008
@@ -110,12 +110,13 @@
 
         self.read(fd)
 
-    def _dump_file(self, fd, f):
+    def _dump_file(self, processed, f):
         ret = []
         for i in f:
             if isinstance(i, FileConfig):
                 e = self.get(i.name, None)
                 if e is not None:
+                    processed.add(i.name)
                     ret.append(e)
         if ret:
             ret[0:0] = ["##", "## file: %s" % f.filename, "##"]
@@ -123,10 +124,25 @@
         return ret
 
     def dump(self, root, menufiles):
-        fd = file(os.path.join(root, self.filename), 'w')
+        filename = os.path.join(root, self.filename)
+        if not os.path.exists(os.path.dirname(filename)):
+            os.makedirs(os.path.dirname(filename))
+        fd = file(filename, 'w')
+
         ret = []
+        processed = set()
         for f in menufiles:
-            ret.extend(self._dump_file(fd, f))
+            ret.extend(self._dump_file(processed, f))
+
+        s = set(self.keys())
+        unprocessed = s - processed
+        if unprocessed:
+            ret.extend(["##", "## file: unknown", "##"])
+            for i in unprocessed:
+                e = self.get(i)
+                ret.append(e)
+            ret.append('')
+
         for i in ret:
             fd.write(str(i) + "\n")
 



More information about the Kernel-svn-changes mailing list