Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions barcode/isxn.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ class InternationalStandardBookNumber10(InternationalStandardBookNumber13):

name = "ISBN-10"

digits = 9
isbn_digits = 9

def __init__(self, isbn, writer=None) -> None:
isbn = isbn.replace("-", "")
isbn = isbn[: self.digits]
isbn = isbn[: self.isbn_digits]
super().__init__("978" + isbn, writer)
self.isbn10 = isbn
self.isbn10 = f"{isbn}{self._calculate_checksum()}"
Expand Down Expand Up @@ -99,11 +99,11 @@ class InternationalStandardSerialNumber(EuropeanArticleNumber13):

name = "ISSN"

digits = 7
issn_digits = 7

def __init__(self, issn, writer=None) -> None:
issn = issn.replace("-", "")
issn = issn[: self.digits]
issn = issn[: self.issn_digits]
self.issn = issn
self.issn = f"{issn}{self._calculate_checksum()}"
super().__init__(self.make_ean(), writer)
Expand Down
3 changes: 3 additions & 0 deletions tests/test_checksums.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ def test_ean14_checksum() -> None:
def test_isbn10_checksum() -> None:
isbn = get_barcode("isbn10", "376926085")
assert isbn.isbn10 == "3769260856" # type: ignore[attr-defined]
# ISBN-10 renders as EAN-13; isbn_digits must not shadow EAN digits.
assert isbn.get_fullcode() == "9783769260854"


def test_isbn13_checksum() -> None:
Expand All @@ -53,6 +55,7 @@ def test_issn_checksum_zero() -> None:
# not 11. Regression test for issue #238.
issn = get_barcode("issn", "6727893")
assert issn.issn == "67278930" # type: ignore[attr-defined]
assert issn.get_fullcode() == "9776727893003"


def test_issn_checksum_x() -> None:
Expand Down