62 lines
1.6 KiB
Python
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
|