Skip to content

Commit 64a0707

Browse files
committed
Add type annotation of methods too
1 parent 537d248 commit 64a0707

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/wireviz/DataClasses.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
from typing import Optional, List, Union
4+
from typing import Optional, List, Union, Tuple
55
from dataclasses import dataclass, field, InitVar
66
from pathlib import Path
77
from wireviz.wv_helper import int2tuple, aspect_ratio
@@ -19,6 +19,8 @@
1919
Color = str # Two-letter color name = Literal[wv_colors._color_hex.keys()]
2020
Colors = str # One or more two-letter color names (Color) concatenated into one string
2121
ColorScheme = str # Color scheme name = Literal[wv_colors.COLOR_CODES.keys()]
22+
NoneOrMorePins = Union[Pin, Tuple[Pin, ...], None] # None, one, or a tuple of pins
23+
OneOrMoreWires = Union[Wire, Tuple[Wire, ...]] # One or a tuple of wires
2224

2325

2426
@dataclass
@@ -96,7 +98,7 @@ class Connector:
9698
ignore_in_bom: bool = False
9799
additional_components: List[AdditionalComponent] = field(default_factory=list)
98100

99-
def __post_init__(self):
101+
def __post_init__(self) -> None:
100102

101103
if isinstance(self.image, dict):
102104
self.image = Image(**self.image)
@@ -148,7 +150,7 @@ def __post_init__(self):
148150
if isinstance(item, dict):
149151
self.additional_components[i] = AdditionalComponent(**item)
150152

151-
def activate_pin(self, pin):
153+
def activate_pin(self, pin: Pin) -> None:
152154
self.visible_pins[pin] = True
153155

154156
def get_qty_multiplier(self, qty_multiplier: Optional[ConnectorMultiplier]) -> int:
@@ -186,7 +188,7 @@ class Cable:
186188
ignore_in_bom: bool = False
187189
additional_components: List[AdditionalComponent] = field(default_factory=list)
188190

189-
def __post_init__(self):
191+
def __post_init__(self) -> None:
190192

191193
if isinstance(self.image, dict):
192194
self.image = Image(**self.image)
@@ -246,7 +248,9 @@ def __post_init__(self):
246248
if isinstance(item, dict):
247249
self.additional_components[i] = AdditionalComponent(**item)
248250

249-
def connect(self, from_name, from_pin, via_pin, to_name, to_pin):
251+
# The *_pin arguments accept a tuple, but it seems not in use with the current code.
252+
def connect(self, from_name: Optional[Designator], from_pin: NoneOrMorePins, via_pin: OneOrMoreWires,
253+
to_name: Optional[Designator], to_pin: NoneOrMorePins) -> None:
250254
from_pin = int2tuple(from_pin)
251255
via_pin = int2tuple(via_pin)
252256
to_pin = int2tuple(to_pin)

0 commit comments

Comments
 (0)