[kernel] r14492 - people/waldi/utils/kconfigeditor2/bin

Bastian Blank waldi at alioth.debian.org
Thu Oct 29 10:39:43 UTC 2009


Author: waldi
Date: Thu Oct 29 10:39:41 2009
New Revision: 14492

Log:
bin/split-common.py: Add script to split common options.

Added:
   people/waldi/utils/kconfigeditor2/bin/split-common.py   (contents, props changed)

Added: people/waldi/utils/kconfigeditor2/bin/split-common.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ people/waldi/utils/kconfigeditor2/bin/split-common.py	Thu Oct 29 10:39:41 2009	(r14492)
@@ -0,0 +1,51 @@
+#!/usr/bin/python2.6
+
+import itertools
+import optparse
+import os
+import sys
+
+
+class Main(object):
+    def __init__(self, *filenames):
+        from kconfigeditor.kconfig.config import File
+
+        input_files = [frozenset(File(open(i)).itervalues()) for i in filenames]
+
+        output_common = input_files[0] & input_files[1]
+
+        output_files = [i - output_common for i in input_files]
+
+        self.write('output-common', output_common)
+
+        for output, id in itertools.izip(output_files, xrange(1, len(output_files) + 1)):
+            self.write('output-part-%d' % id, output)
+
+    def write(self, filename, content):
+        f = open(filename, 'w')
+
+        items = [(i.name, i) for i in content]
+        items.sort(key=lambda a: a[0])
+        for key, value in items:
+            f.write(str(value) + '\n')
+
+        f.close()
+
+
+if __name__ == '__main__':
+    try:
+        import kconfigeditor
+    except ImportError:
+        sys.path.append(os.path.join(sys.path[0], '../lib'))
+
+    options = optparse.OptionParser(
+        usage = "%prog [OPTION]... CONFIG..."
+    )
+
+    opts, args = options.parse_args()
+
+    if len(args) < 1:
+        options.error("Too less arguments")
+
+    Main(*args)
+



More information about the Kernel-svn-changes mailing list