1
0
Files
LCRConnector/legacy/lcr_connector.py

37 lines
1.4 KiB
Python

from .common import LcrConnException, Circuit, JointKind, to_human_readable_value
def _get_joint_kind_symbol(joint_kind: JointKind) -> str:
match joint_kind:
case JointKind.SERIES:
return "S"
case JointKind.PARALLEL:
return "P"
def _illustrate_circuit(circuit: Circuit) -> None:
match circuit.len_devices():
case 1:
dev1 = to_human_readable_value(circuit.device_value)
print(f"{dev1}")
case 2:
dev1 = to_human_readable_value(circuit.device_value)
joint1 = circuit.joints[0]
j1 = _get_joint_kind_symbol(joint1.joint_kind)
dev2 = to_human_readable_value(joint1.device_value)
print(f"[{j1}] ┬ {dev1}")
print(f"{dev2}")
case 3:
dev1 = to_human_readable_value(circuit.device_value)
joint1 = circuit.joints[0]
j1 = _get_joint_kind_symbol(joint1.joint_kind)
dev2 = to_human_readable_value(joint1.device_value)
joint2 = circuit.joints[1]
j2 = _get_joint_kind_symbol(joint2.joint_kind)
dev3 = to_human_readable_value(joint2.device_value)
print(f"[{j2}] ┬ [{j1}] ┬ {dev1}")
print(f" │ └ {dev2}")
print(f"{dev3}")
case _:
raise LcrConnException("Circuit too complex to illustrate")