python-pycparser/pycparser-0.91.1-remove-relative-sys-path.py
Troy Dawson 7f1b91a4a6 RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/python-pycparser#f36507af64619b2d3026b0b3004dbaa738fe480f
2020-10-14 19:50:31 -07:00

39 lines
998 B
Python

#!/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()