summaryrefslogtreecommitdiffstats
path: root/remove-relative-sys-path
diff options
context:
space:
mode:
Diffstat (limited to 'remove-relative-sys-path')
-rwxr-xr-xremove-relative-sys-path38
1 files changed, 38 insertions, 0 deletions
diff --git a/remove-relative-sys-path b/remove-relative-sys-path
new file mode 100755
index 0000000..20fcb06
--- /dev/null
+++ b/remove-relative-sys-path
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+'''
+pycparser examples all contain the following boiler plate code
+for running in tree. This script removes them:
+
+# This is not required if you've installed pycparser into
+# your site-packages/ with setup.py
+#
+sys.path.extend(['.', '..'])
+'''
+
+import sys
+import os
+
+boiler_plate = "sys.path.extend(['.', '..'])\n"
+d = sys.argv[1]
+for (root, dirs, files) in os.walk(d):
+ for i in files:
+ if not i.endswith('.py'):
+ continue
+ fname = os.path.join(root, i)
+ lines = open(fname).readlines()
+ try:
+ start = lines.index(boiler_plate)
+ end = start
+ except ValueError:
+ start = None
+ end = start
+ if start is not None:
+ while lines[start-1].startswith('#'):
+ start -= 1
+
+ if start is not None and end is not None:
+ f = open(fname, 'w')
+ f.writelines(lines[:start])
+ f.writelines(lines[end+1:])
+ f.close()