summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mac/scripts/bgenall.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/Mac/scripts/bgenall.py b/Mac/scripts/bgenall.py
new file mode 100644
index 0000000..bb5ddcc
--- /dev/null
+++ b/Mac/scripts/bgenall.py
@@ -0,0 +1,38 @@
+# bgenall - Generate all bgen-generated modules
+#
+import sys
+import os
+import string
+
+def bgenone(dirname, shortname):
+ os.chdir(dirname)
+ m = __import__(shortname+'scan')
+ try:
+ m.main()
+ except:
+ return 0
+ return 1
+
+def main():
+ success = []
+ failure = []
+ sys.path.insert(0, ':')
+ srcdir = os.path.join(os.path.join(sys.prefix, 'Mac'), 'Modules')
+ contents = os.listdir(srcdir)
+ for name in contents:
+ moduledir = os.path.join(srcdir, name)
+ scanmodule = os.path.join(moduledir, name +'scan.py')
+ if os.path.exists(scanmodule):
+ if bgenone(moduledir, name):
+ success.append(name)
+ else:
+ failure.append(name)
+ print 'Done:', string.join(success, ' ')
+ if failure:
+ print 'Failed:', string.join(failure, ' ')
+ return 0
+ return 1
+
+if __name__ == '__main__':
+ rv = main()
+ sys.exit(not rv) \ No newline at end of file