ISBN
The pydantic_extra_types.isbn module provides functionality to receive and validate ISBN.
ISBN (International Standard Book Number) is a numeric commercial book identifier which is intended to be unique. This module provides an ISBN type for Pydantic models.
Bases: str
Represents a ISBN and provides methods for conversion, validation, and serialization.
from pydantic import BaseModel
from pydantic_extra_types.isbn import ISBN
class Book(BaseModel):
isbn: ISBN
book = Book(isbn='8537809667')
print(book)
# > isbn='9788537809662'Methods
Section titled “Methods”validate_isbn_format
Section titled “validate_isbn_format”@staticmethod
def validate_isbn_format(value: str) -> NoneValidate a ISBN format from the provided str value.
Returns
Section titled “Returns”Parameters
Section titled “Parameters”value : str
The str value representing the ISBN in 10 or 13 digits.
Raises
Section titled “Raises”PydanticCustomError-- If the ISBN is not valid.
convert_isbn10_to_isbn13
Section titled “convert_isbn10_to_isbn13”@staticmethod
def convert_isbn10_to_isbn13(value: str) -> strConvert an ISBN-10 to ISBN-13.
Returns
Section titled “Returns”str -- The converted ISBN or the original value if no conversion is necessary.
Parameters
Section titled “Parameters”value : str
The ISBN-10 value to be converted.
isbn10_digit_calc
Section titled “isbn10_digit_calc”def isbn10_digit_calc(isbn: str) -> strCalculate the ISBN-10 check digit from the provided str value. More information on the validation algorithm on Wikipedia
Returns
Section titled “Returns”str -- The calculated last digit of the ISBN-10 value.
Parameters
Section titled “Parameters”isbn : str
The str value representing the ISBN in 10 digits.
isbn13_digit_calc
Section titled “isbn13_digit_calc”def isbn13_digit_calc(isbn: str) -> strCalc a ISBN-13 last digit from the provided str value. More information on the validation algorithm on Wikipedia
Returns
Section titled “Returns”str -- The calculated last digit of the ISBN-13 value.
Parameters
Section titled “Parameters”isbn : str
The str value representing the ISBN in 13 digits.