Step 7 – Implementing the business logic layer
The business logic layer supports the application's business rules, such as validations and automation. We will now add the logic for the Check ISBN button. This is done using Python code, adding a method to the Python class representing the library.book
model.
Adding business logic
Modern ISBNs have 13 digits, the last of which is a check digit computed from the first 12. If digits
contains the first 12 digits, this Python code returns the corresponding check digit:
ponderations = [1, 3] * 6 terms = [a * b for a, b in zip(digits, ponderations)] remain = sum(terms) % 10 check = 10 - remain if remain != 0 else 0 return digits[-1]
The preceding code, with some adjustments, will be at the heart of our validation function. It should be a method in the class Book(...)
object. We will add a method that checks a record's ISBN and returns True
or False
, as follows:
def _check_isbn(self)...