Split qty into multiple fields
There is now a numberic field 'qty' and a multiplier field 'qty_multiplier'
This commit is contained in:
parent
94d6fc9015
commit
bb37b37d28
@ -103,18 +103,14 @@ class Harness:
|
|||||||
if connector.additional_components is not None:
|
if connector.additional_components is not None:
|
||||||
rows.append(["Additional components"])
|
rows.append(["Additional components"])
|
||||||
for extra in connector.additional_components:
|
for extra in connector.additional_components:
|
||||||
if 'qty' in extra:
|
qty = extra.get('qty', 1)
|
||||||
if isinstance(extra['qty'], int) or isinstance(extra['qty'], float):
|
if 'qty_multiplier' in extra:
|
||||||
qty = extra['qty']
|
if extra['qty_multiplier'] == 'pincount':
|
||||||
else: # check for special quantities
|
qty = connector.pincount
|
||||||
if extra['qty'] == 'pincount':
|
elif extra['qty_multiplier'] == 'populated':
|
||||||
qty = connector.pincount
|
qty = sum(1 for value in connector.visible_pins.values() if value is True)
|
||||||
elif extra['qty'] == 'connectioncount':
|
else:
|
||||||
qty = sum(1 for value in connector.visible_pins.values() if value is True)
|
raise ValueError('invalid qty parameter {}'.format(extra["qty_multiplier'"]))
|
||||||
else:
|
|
||||||
raise ValueError('invalid qty parameter {}'.format(extra["qty"]))
|
|
||||||
else:
|
|
||||||
qty = 1
|
|
||||||
rows.append([extra["type"], f'{qty} {extra.get("unit", "")}'.strip()])
|
rows.append([extra["type"], f'{qty} {extra.get("unit", "")}'.strip()])
|
||||||
rows.append([f'P/N: {extra["pn"]}' if extra["pn"] else None,
|
rows.append([f'P/N: {extra["pn"]}' if extra["pn"] else None,
|
||||||
html_line_breaks(manufacturer_info_field(extra.get("manufacturer", None), extra.get("mpn", None)))])
|
html_line_breaks(manufacturer_info_field(extra.get("manufacturer", None), extra.get("mpn", None)))])
|
||||||
@ -195,22 +191,18 @@ class Harness:
|
|||||||
if cable.additional_components is not None:
|
if cable.additional_components is not None:
|
||||||
rows.append(["Additional components"])
|
rows.append(["Additional components"])
|
||||||
for extra in cable.additional_components:
|
for extra in cable.additional_components:
|
||||||
if 'qty' in extra:
|
qty = extra.get('qty', 1)
|
||||||
if isinstance(extra['qty'], int) or isinstance(extra['qty'], float):
|
if 'qty_multiplier' in extra:
|
||||||
qty = extra['qty']
|
if extra['qty_multiplier'] == 'wirecount':
|
||||||
else: # check for special quantities
|
qty *= cable.wirecount
|
||||||
if extra['qty'] == 'wirecount':
|
elif extra['qty_multiplier'] == 'terminations':
|
||||||
qty = cable.wirecount
|
qty *= len(cable.connections)
|
||||||
elif extra['qty'] == 'terminations':
|
elif extra['qty_multiplier'] == 'length':
|
||||||
qty = len(cable.connections)
|
qty *= cable.length
|
||||||
elif extra['qty'] == 'length':
|
elif extra['qty_multiplier'] == 'total_length':
|
||||||
qty = cable.length
|
qty *= cable.length * cable.wirecount
|
||||||
elif extra['qty'] == 'total_length':
|
else:
|
||||||
qty = cable.length * cable.wirecount
|
raise ValueError('invalid qty parameter {}'.format(extra["qty_multiplier"]))
|
||||||
else:
|
|
||||||
raise ValueError('invalid qty parameter {}'.format(extra["qty"]))
|
|
||||||
else:
|
|
||||||
qty = 1
|
|
||||||
rows.append([extra["type"], f'{qty} {extra.get("unit", "")}'.strip()])
|
rows.append([extra["type"], f'{qty} {extra.get("unit", "")}'.strip()])
|
||||||
rows.append([f'P/N: {extra["pn"]}' if extra["pn"] else None,
|
rows.append([f'P/N: {extra["pn"]}' if extra["pn"] else None,
|
||||||
html_line_breaks(manufacturer_info_field(extra.get("manufacturer", None), extra.get("mpn", None)))])
|
html_line_breaks(manufacturer_info_field(extra.get("manufacturer", None), extra.get("mpn", None)))])
|
||||||
@ -399,18 +391,14 @@ class Harness:
|
|||||||
for connector in self.connectors.values():
|
for connector in self.connectors.values():
|
||||||
if connector.additional_components:
|
if connector.additional_components:
|
||||||
for part in connector.additional_components:
|
for part in connector.additional_components:
|
||||||
if 'qty' in part:
|
qty = part.get('qty', 1)
|
||||||
if isinstance(part['qty'], int) or isinstance(part['qty'], float):
|
if 'qty_multiplier' in part:
|
||||||
qty = part['qty']
|
if part['qty_multiplier'] == 'pincount':
|
||||||
else: # check for special quantities
|
qty = connector.pincount
|
||||||
if part['qty'] == 'pincount':
|
elif part['qty_multiplier'] == 'populated':
|
||||||
qty = connector.pincount
|
qty = sum(1 for value in connector.visible_pins.values() if value is True)
|
||||||
elif part['qty'] == 'connectioncount':
|
else:
|
||||||
qty = sum(1 for value in connector.visible_pins.values() if value is True)
|
raise ValueError('invalid qty parameter {}'.format(part["qty_multiplier'"]))
|
||||||
else:
|
|
||||||
raise ValueError('invalid aty parameter')
|
|
||||||
else:
|
|
||||||
qty = 1
|
|
||||||
connectors_extra.append(
|
connectors_extra.append(
|
||||||
{
|
{
|
||||||
'type': part.get('type', None),
|
'type': part.get('type', None),
|
||||||
@ -488,22 +476,18 @@ class Harness:
|
|||||||
for cable in self.cables.values():
|
for cable in self.cables.values():
|
||||||
if cable.additional_components:
|
if cable.additional_components:
|
||||||
for part in cable.additional_components:
|
for part in cable.additional_components:
|
||||||
if 'qty' in part:
|
qty = part.get('qty', 1)
|
||||||
if isinstance(part['qty'], int) or isinstance(part['qty'], float):
|
if 'qty_multiplier' in part:
|
||||||
qty = part['qty']
|
if part['qty_multiplier'] == 'wirecount':
|
||||||
else: # check for special quantities
|
qty *= cable.wirecount
|
||||||
if part['qty'] == 'wirecount':
|
elif part['qty_multiplier'] == 'terminations':
|
||||||
qty = cable.wirecount
|
qty *= len(cable.connections)
|
||||||
elif part['qty'] == 'terminations':
|
elif part['qty_multiplier'] == 'length':
|
||||||
qty = len(cable.connections)
|
qty *= cable.length
|
||||||
elif part['qty'] == 'length':
|
elif part['qty_multiplier'] == 'total_length':
|
||||||
qty = cable.length
|
qty *= cable.length * cable.wirecount
|
||||||
elif part['qty'] == 'total_length':
|
else:
|
||||||
qty = cable.length * cable.wirecount
|
raise ValueError('invalid qty parameter {}'.format(part["qty_multiplier"]))
|
||||||
else:
|
|
||||||
raise ValueError('invalid aty parameter')
|
|
||||||
else:
|
|
||||||
qty = 1
|
|
||||||
cables_extra.append(
|
cables_extra.append(
|
||||||
{
|
{
|
||||||
'type': part.get('type', None),
|
'type': part.get('type', None),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user