import string
import sys
import re

if __name__ == '__main__':
    nets = [None] * 4000
    re_net = re.compile(r'(?:^[\_a-z0-9]*:\s\d*)')
    re_tra = re.compile(r'(?:^\[\'t\d*\',\d*,\d*,\d*)')

    # load net names
    file = open('nodenames.js', 'r', -1, None, None)
    for line in file:
        match = re_net.match(line)
        if match:
            line = match.group()
            split = line.split(':')
            nets[int(split[1].strip())] = split[0].strip().upper()
    file.close()
    for i in range(len(nets)):
        if nets[i] is None:
            nets[i] = "NET%05u" % i
        print('NetAdd "%s"' % nets[i])
    # process trans list
    file = open('transdefs.js', 'r', -1, None, None)
    for line in file:
        match = re_tra.match(line)
        if match:
            line = match.group()
            line = line.strip('[')
            split = line.split(',')
            tra = split[0].strip('\'').upper()
            split[1] = int(split[1])
            split[2] = int(split[2])
            split[3] = int(split[3])
            if split[2] == 1:
                print('CompAdd "FET-N-GND" "%s" "*"' % tra)
                print('NetNodeAdd "GND" "%s-1"' % tra)
            else:
                print('CompAdd "FET-N" "%s" "*"' % tra)
                print('NetNodeAdd "%s" "%s-1"' % (nets[split[2]], tra))
            print('NetNodeAdd "%s" "%s-2"' % (nets[split[1]], tra))
            print('NetNodeAdd "%s" "%s-3"' % (nets[split[3]], tra))
    file.close()
    exit(0)
