diff --git a/helpers/mnbtool.py b/helpers/mnbtool.py index 6342051..ceaca28 100755 --- a/helpers/mnbtool.py +++ b/helpers/mnbtool.py @@ -11,21 +11,35 @@ out_file = open(sys.argv[3], 'w') reader_t = csv.reader(in_t_file, dialect='excel-tab') reader_b = csv.reader(in_b_file, dialect='excel-tab') -ordered_fieldnames = OrderedDict([('Designator', None), ('Mid X', None), ('Mid Y', None), ('Layer', None), ('Rotation', None)]) -writer = csv.DictWriter(out_file, delimiter=',', quoting=csv.QUOTE_NONNUMERIC, fieldnames=ordered_fieldnames) +ordered_fieldnames = OrderedDict( + [('Designator', None), ('Mid X', None), ('Mid Y', None), ('Layer', None), ('Rotation', None)]) +writer = csv.DictWriter(out_file, delimiter=',', + quoting=csv.QUOTE_NONNUMERIC, fieldnames=ordered_fieldnames) -writer.writerow({'Designator': 'Designator', 'Mid X': 'Mid X', 'Mid Y': 'Mid Y', 'Layer': 'Layer', 'Rotation': 'Rotation'}) +writer.writerow({'Designator': 'Designator', 'Mid X': 'Mid X', + 'Mid Y': 'Mid Y', 'Layer': 'Layer', 'Rotation': 'Rotation'}) for reader in [reader_t, reader_b]: layer = 'Top' - if reader == reader_b: + if reader == reader_b: layer = 'Bottom' for row in reader: row = list(filter(None, row[0].split(' '))) - - writer.writerow({'Designator': row[0], 'Mid X': row[1], 'Mid Y': row[2], 'Layer': layer, 'Rotation': row[3]}) + rotation = int(row[3]) + # special behaviour for SOIC8: + print(len(row)) + if len(row) >= 6: + print(row[5]) + + if "SOIC8" in row[5]: + if rotation == 180: + rotation = 0 + elif rotation == 0: + rotation = 180 + writer.writerow({'Designator': row[0], 'Mid X': row[1], + 'Mid Y': row[2], 'Layer': layer, 'Rotation': rotation}) in_t_file.close() in_b_file.close()