blob: 288fc070deaf1bdf4fdf85a1fccdb90bb772ee5c [file] [log] [blame]
#!/usr/bin/env python3
import os
import sys
def main(args):
assert len(args) == 2, args
infile = args.pop(0)
assert os.path.isfile(infile), infile
outdir = args.pop(0)
assert os.path.isdir(outdir), outdir
assert not args, args
basename = os.path.basename(infile)
fname, ext = basename.split('.', 1)
part_a = []
part_b = []
direction = None
for line in open(infile):
if line.startswith('.subckt'):
bits = line.split()
assert len(bits) > 1, (bits, line)
if bits[1].endswith('_b'):
direction = 'b'
else:
direction = 'a'
if direction is None:
part_a.append(line)
part_b.append(line)
elif direction == 'a':
part_a.append(line)
elif direction == 'b':
part_b.append(line)
fname_a = os.path.join(outdir, f'{basename}')
assert not os.path.exists(fname_a), fname_a
fname_b = os.path.join(outdir, f'{fname}_b.new.{ext}')
assert not os.path.exists(fname_b), fname_b
print("split_nlowvt_rf.py: Wrote", fname_a, "with", len(part_a), "lines")
with open(fname_a, 'w') as f:
f.write(''.join(part_a))
print("split_nlowvt_rf.py: Wrote", fname_b, "with", len(part_b), "lines")
with open(fname_b, 'w') as f:
f.write(''.join(part_b))
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))