[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