def calculate_checksum(self): sum_ = sum(int(x) * int(y) for x, y in enumerate(self.pzn, start=2)) checksum = sum_ % 11 if checksum == 10: raise BarcodeError("Checksum can not be 10 for PZN.") else: return checksum
def __init__(self, isbn, writer=None): isbn = isbn.replace("-", "") self.isbn13 = isbn if isbn[:3] not in ("978", "979"): raise WrongCountryCodeError("ISBN must start with 978 or 979.") if isbn[:3] == "979": if isbn[3:5] not in ("10", "11"): raise BarcodeError("ISBN must start with 97910 or 97911.") EuropeanArticleNumber13.__init__(self, isbn, writer)
def __init__(self, isbn, writer=None): isbn = isbn.replace('-', '') self.isbn13 = isbn if isbn[:3] not in ('978', '979'): raise WrongCountryCodeError('ISBN must start with 978 or 979.') if isbn[:3] == '979': if isbn[3:5] not in ('10', '11'): raise BarcodeError('ISBN must start with 97910 or 97911.') EuropeanArticleNumber13.__init__(self, isbn, writer)