in diagnostics/remove_protobuf_class_attribute.py [0:0]
def main():
"""
Remove the `_class` attribute from a pbtxt node.
"""
args = get_args()
if args.directory:
files = get_files(args.directory)
if args.output == None:
# in place modification
args.output = args.directory
else:
# non-destructive output directory
try:
os.makedirs(args.output)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(args.output):
pass
else:
if args.output == None:
# in place modification
args.output = args.file
files = [args.file]
for f in files:
output_file = args.output
if args.directory:
output_file += "/" + f
sys.stdout.write(progress("Processing: " + output_file))
lines = []
if args.directory:
f = args.directory + "/" + f
for line in open(f):
lines.append(line)
pruned = []
save = True
blacklist = 0
for i, line in enumerate(lines):
if "_class" in line:
del pruned[-1]
blacklist = i + 6
save = False
if i > blacklist:
save = True
if save:
pruned.append(line)
with open(output_file, "w") as output:
for line in pruned:
output.write(line)