src: wv_bom: simplify partnumbers2list
This commit is contained in:
parent
8343f62f41
commit
850695409f
@ -20,18 +20,19 @@ def partnumbers2list(
|
|||||||
partnumbers: PartNumberInfo, parent_partnumbers: PartNumberInfo = None
|
partnumbers: PartNumberInfo, parent_partnumbers: PartNumberInfo = None
|
||||||
) -> List[str]:
|
) -> List[str]:
|
||||||
if not isinstance(partnumbers, list):
|
if not isinstance(partnumbers, list):
|
||||||
return partnumbers.str_list
|
partnumbers = [partnumbers]
|
||||||
|
|
||||||
pn = None
|
|
||||||
for p in partnumbers:
|
|
||||||
if pn is None:
|
|
||||||
pn = p.copy()
|
|
||||||
pn = pn.keep_only_eq(p)
|
|
||||||
|
|
||||||
if pn.str_list is None and parent_partnumbers is not None:
|
# if there's no parent, fold
|
||||||
return parent_partnumbers.str_list
|
if parent_partnumbers is None:
|
||||||
else:
|
return PartNumberInfo.list_keep_only_eq(partnumbers).str_list
|
||||||
return pn.str_list
|
|
||||||
|
if isinstance(parent_partnumbers, list):
|
||||||
|
parent_partnumbers = PartNumberInfo.list_keep_only_eq(parent_partnumbers)
|
||||||
|
|
||||||
|
partnumbers = [p.remove_eq(parent_partnumbers) for p in partnumbers]
|
||||||
|
|
||||||
|
return [p.str_list for p in partnumbers if p]
|
||||||
|
|
||||||
|
|
||||||
def bom_list(bom):
|
def bom_list(bom):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user