Skip to content

Commit 285d85d

Browse files
committed
Add a few additional type hints
1 parent 416aec0 commit 285d85d

9 files changed

Lines changed: 36 additions & 32 deletions

File tree

barcode/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def to_ascii(self) -> str:
3535
code[i] = line.replace("1", "X").replace("0", " ")
3636
return "\n".join(code)
3737

38-
def __repr__(self):
38+
def __repr__(self) -> str:
3939
return f"<{self.__class__.__name__}({self.get_fullcode()!r})>"
4040

4141
def build(self) -> List[str]:

barcode/codabar.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ class CODABAR(Barcode):
2727

2828
name = "Codabar (NW-7)"
2929

30-
def __init__(self, code, writer=None, narrow=2, wide=5):
30+
def __init__(self, code, writer=None, narrow=2, wide=5) -> None:
3131
self.code = code
3232
self.writer = writer or self.default_writer()
3333
self.narrow = narrow
3434
self.wide = wide
3535

36-
def __str__(self):
36+
def __str__(self) -> str:
3737
return self.code
3838

3939
def get_fullcode(self):

barcode/codex.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
:Provided barcodes: Code 39, Code 128, PZN
44
"""
55

6-
from typing import Tuple
6+
from typing import Collection
77

88
from barcode.base import Barcode
99
from barcode.charsets import code39
@@ -19,7 +19,7 @@
1919
MIN_QUIET_ZONE = 2.54
2020

2121

22-
def check_code(code: str, name: str, allowed: Tuple[str, ...]) -> None:
22+
def check_code(code: str, name: str, allowed: Collection[str]) -> None:
2323
wrong = []
2424
for char in code:
2525
if char not in allowed:
@@ -37,7 +37,7 @@ class Code39(Barcode):
3737

3838
name = "Code 39"
3939

40-
def __init__(self, code: str, writer=None, add_checksum: bool = True):
40+
def __init__(self, code: str, writer=None, add_checksum: bool = True) -> None:
4141
r"""
4242
:param code: Code 39 string without \* and without checksum.
4343
:param writer: A ``barcode.writer`` instance used to render the barcode
@@ -92,7 +92,7 @@ class PZN7(Code39):
9292

9393
digits = 6
9494

95-
def __init__(self, pzn, writer=None):
95+
def __init__(self, pzn, writer=None) -> None:
9696
pzn = pzn[: self.digits]
9797
if not pzn.isdigit():
9898
raise IllegalCharacterError("PZN can only contain numbers.")
@@ -135,14 +135,14 @@ class Code128(Barcode):
135135

136136
name = "Code 128"
137137

138-
def __init__(self, code, writer=None):
138+
def __init__(self, code, writer=None) -> None:
139139
self.code = code
140140
self.writer = writer or self.default_writer()
141141
self._charset = "B"
142142
self._buffer = ""
143143
check_code(self.code, self.name, code128.ALL)
144144

145-
def __str__(self):
145+
def __str__(self) -> str:
146146
return self.code
147147

148148
@property
@@ -268,7 +268,7 @@ class Gs1_128(Code128): # noqa: N801
268268

269269
FNC1_CHAR = "\xf1"
270270

271-
def __init__(self, code, writer=None):
271+
def __init__(self, code, writer=None) -> None:
272272
code = self.FNC1_CHAR + code
273273
super().__init__(code, writer)
274274

barcode/ean.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class EuropeanArticleNumber13(Barcode):
4141

4242
digits = 12
4343

44-
def __init__(self, ean, writer=None, no_checksum=False, guardbar=False):
44+
def __init__(self, ean, writer=None, no_checksum=False, guardbar=False) -> None:
4545
ean = ean[: self.digits]
4646
if not ean.isdigit():
4747
raise IllegalCharacterError("EAN code can only contain numbers.")
@@ -72,7 +72,7 @@ def __init__(self, ean, writer=None, no_checksum=False, guardbar=False):
7272
self.MIDDLE = _ean.MIDDLE
7373
self.writer = writer or self.default_writer()
7474

75-
def __str__(self):
75+
def __str__(self) -> str:
7676
return self.ean
7777

7878
def get_fullcode(self):
@@ -129,8 +129,8 @@ def render(self, writer_options=None, text=None):
129129
class EuropeanArticleNumber13WithGuard(EuropeanArticleNumber13):
130130
name = "EAN-13 with guards"
131131

132-
def __init__(self, *args, guardbar=True, **kwargs):
133-
super().__init__(*args, guardbar=guardbar, **kwargs)
132+
def __init__(self, ean, writer=None, no_checksum=False, guardbar=True) -> None:
133+
super().__init__(ean, writer, no_checksum, guardbar)
134134

135135

136136
class JapanArticleNumber(EuropeanArticleNumber13):
@@ -147,7 +147,7 @@ class JapanArticleNumber(EuropeanArticleNumber13):
147147

148148
valid_country_codes = list(range(450, 460)) + list(range(490, 500))
149149

150-
def __init__(self, jan, *args, **kwargs):
150+
def __init__(self, jan, *args, **kwargs) -> None:
151151
if int(jan[:3]) not in self.valid_country_codes:
152152
raise WrongCountryCodeError(
153153
"Country code isn't between 450-460 or 490-500."
@@ -193,8 +193,8 @@ def get_fullcode(self):
193193
class EuropeanArticleNumber8WithGuard(EuropeanArticleNumber8):
194194
name = "EAN-8 with guards"
195195

196-
def __init__(self, *args, guardbar=True, **kwargs):
197-
super().__init__(*args, guardbar=guardbar, **kwargs)
196+
def __init__(self, ean, writer=None, no_checksum=False, guardbar=True) -> None:
197+
super().__init__(ean, writer, no_checksum, guardbar)
198198

199199

200200
class EuropeanArticleNumber14(EuropeanArticleNumber13):

barcode/errors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44

55
class BarcodeError(Exception):
6-
def __init__(self, msg):
6+
def __init__(self, msg) -> None:
77
self.msg = msg
88

9-
def __str__(self):
9+
def __str__(self) -> str:
1010
return self.msg
1111

1212

barcode/isxn.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class InternationalStandardBookNumber13(EuropeanArticleNumber13):
4040

4141
name = "ISBN-13"
4242

43-
def __init__(self, isbn, writer=None):
43+
def __init__(self, isbn, writer=None) -> None:
4444
isbn = isbn.replace("-", "")
4545
self.isbn13 = isbn
4646
if isbn[:3] not in ("978", "979"):
@@ -65,7 +65,7 @@ class InternationalStandardBookNumber10(InternationalStandardBookNumber13):
6565

6666
digits = 9
6767

68-
def __init__(self, isbn, writer=None):
68+
def __init__(self, isbn, writer=None) -> None:
6969
isbn = isbn.replace("-", "")
7070
isbn = isbn[: self.digits]
7171
super().__init__("978" + isbn, writer)
@@ -79,7 +79,7 @@ def _calculate_checksum(self):
7979

8080
return tmp
8181

82-
def __str__(self):
82+
def __str__(self) -> str:
8383
return self.isbn10
8484

8585

@@ -98,7 +98,7 @@ class InternationalStandardSerialNumber(EuropeanArticleNumber13):
9898

9999
digits = 7
100100

101-
def __init__(self, issn, writer=None):
101+
def __init__(self, issn, writer=None) -> None:
102102
issn = issn.replace("-", "")
103103
issn = issn[: self.digits]
104104
self.issn = issn
@@ -119,7 +119,7 @@ def _calculate_checksum(self):
119119
def make_ean(self):
120120
return f"977{self.issn[:7]}00{self._calculate_checksum()}"
121121

122-
def __str__(self):
122+
def __str__(self) -> str:
123123
return self.issn
124124

125125

barcode/itf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ITF(Barcode):
2929

3030
name = "ITF"
3131

32-
def __init__(self, code, writer=None, narrow=2, wide=5):
32+
def __init__(self, code, writer=None, narrow=2, wide=5) -> None:
3333
if not code.isdigit():
3434
raise IllegalCharacterError("ITF code can only contain numbers.")
3535
# Length must be even, prepend 0 if necessary
@@ -40,7 +40,7 @@ def __init__(self, code, writer=None, narrow=2, wide=5):
4040
self.narrow = narrow
4141
self.wide = wide
4242

43-
def __str__(self):
43+
def __str__(self) -> str:
4444
return self.code
4545

4646
def get_fullcode(self):

barcode/upc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class UniversalProductCodeA(Barcode):
2222

2323
digits = 11
2424

25-
def __init__(self, upc, writer=None, make_ean=False):
25+
def __init__(self, upc, writer=None, make_ean=False) -> None:
2626
"""Initializes new UPC-A barcode.
2727
2828
:param str upc: The upc number as string.
@@ -44,7 +44,7 @@ def __init__(self, upc, writer=None, make_ean=False):
4444
self.upc = f"{upc}{self.calculate_checksum()}"
4545
self.writer = writer or self.default_writer()
4646

47-
def __str__(self):
47+
def __str__(self) -> str:
4848
if self.ean:
4949
return "0" + self.upc
5050

barcode/writer.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,12 @@ class BaseWriter:
8080
"""
8181

8282
def __init__(
83-
self, initialize=None, paint_module=None, paint_text=None, finish=None
84-
):
83+
self,
84+
initialize=None,
85+
paint_module=None,
86+
paint_text=None,
87+
finish=None,
88+
) -> None:
8589
self._callbacks = {
8690
"initialize": initialize,
8791
"paint_module": paint_module,
@@ -291,7 +295,7 @@ def render(self, code):
291295

292296

293297
class SVGWriter(BaseWriter):
294-
def __init__(self):
298+
def __init__(self) -> None:
295299
BaseWriter.__init__(
296300
self, self._init, self._create_module, self._create_text, self._finish
297301
)
@@ -398,7 +402,7 @@ class ImageWriter(BaseWriter): # type: ignore[no-redef]
398402
mode: str
399403
dpi: int
400404

401-
def __init__(self, format="PNG", mode="RGB"):
405+
def __init__(self, format="PNG", mode="RGB") -> None:
402406
"""Initialise a new write instance.
403407
404408
:params format: The file format for the generated image. This parameter can

0 commit comments

Comments
 (0)