WireViz/src/wv_helper.py
Manuel Scholz 2dfdbd577a
Update wv_helper.py
Added bigger AWG sizes
2020-06-23 11:49:53 +02:00

62 lines
1.6 KiB
Python

from typing import Any, List
def awg_equiv(mm2):
awg_equiv_table = {
'0.09': 28,
'0.14': 26,
'0.25': 24,
'0.34': 22,
'0.5': 21,
'0.75': 20,
'1': 18,
'1.5': 16,
'2.5': 14,
'4': 12,
'6': 10,
'10': 8,
'16': 6,
'25': 4,
'35': 2,
'50': 1,
}
k = str(mm2)
if k in awg_equiv_table:
return awg_equiv_table[k]
else:
return 'unknown'
def nested(input):
l = []
for x in input:
if isinstance(x, list):
if len(x) > 0:
n = nested(x)
if n != '':
l.append('{' + n + '}')
else:
if x is not None:
if x != '':
l.append(str(x))
s = '|'.join(l)
return s
def int2tuple(input):
if isinstance(input, tuple):
output = input
else:
output = (input,)
return output
def flatten2d(input):
output = [[str(item) if not isinstance(item, List) else ', '.join(item) for item in row] for row in input]
return output
def tuplelist2tsv(input, header=None):
output = ''
if header is not None:
input.insert(0, header)
input = flatten2d(input)
for row in input:
output = output + '\t'.join(str(item) for item in row) + '\n'
return output