diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index 0cdd3a1..4204abc 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -135,6 +135,8 @@ class Connector: notes: Optional[MultilineHypertext] = None pins: List[Pin] = field(default_factory=list) pinlabels: List[Pin] = field(default_factory=list) + reverse_pins: bool = False + shell: bool = False pincolors: List[Color] = field(default_factory=list) color: Optional[Color] = None show_name: Optional[bool] = None diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index b95f018..03a29f0 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -161,7 +161,12 @@ class Harness: pinhtml = [] pinhtml.append('') - for pinindex, (pinname, pinlabel, pincolor) in enumerate(zip_longest(connector.pins, connector.pinlabels, connector.pincolors)): + pin_index_list = enumerate(zip_longest(connector.pins, connector.pinlabels, connector.pincolors)) + + if connector.reverse_pins: + pin_index_list = reversed(list(pin_index_list)) + + for pinindex, (pinname, pinlabel, pincolor) in pin_index_list: if connector.hide_disconnected_pins and not connector.visible_pins.get(pinname, False): continue pinhtml.append(' ')