diff --git a/biscuit/apps/exlibris/models.py b/biscuit/apps/exlibris/models.py index b263c1a6c3fae9d379a3db02224eaa152bd8da20..f23f84f796755916c1b3e0e11b40aa9422a4c892 100644 --- a/biscuit/apps/exlibris/models.py +++ b/biscuit/apps/exlibris/models.py @@ -25,10 +25,10 @@ class Book(SchoolRelated): cover = models.ImageField(verbose_name=_( 'Photo of cover'), blank=True, null=True) - def __str__(self): + def __str__(self) -> str: return '%s (%s, %d. %d %d)' % (self.title, self.author, self.edition, _('edition'), self.year) - def is_deleteable(self): + def is_deleteable(self) -> bool: for book_copy in self.copies.all(): if not book_copy.is_deleteable(): return False @@ -69,7 +69,7 @@ class BookCopy(models.Model): barcode = models.CharField(verbose_name=_( 'Barcode'), max_length=20, unique=True) - def save(self, *args, **kwargs): + def save(self, *args, **kwargs) -> None: if not self.copy_num: if self.book.copies.exclude(copy_num__isnull=True).exists(): self.copy_num = self.book.copies.exclude( @@ -82,5 +82,5 @@ class BookCopy(models.Model): super().save(*args, **kwargs) - def is_deleteable(self): + def is_deleteable(self) -> bool: return not self.borrow_count and not self.borrower diff --git a/biscuit/apps/exlibris/util.py b/biscuit/apps/exlibris/util.py index b9e4c5a5922f82fd57d9f0c4f58499126f4f416f..645ad2f436b9c365560a8e5b323d264eba197850 100644 --- a/biscuit/apps/exlibris/util.py +++ b/biscuit/apps/exlibris/util.py @@ -1,7 +1,9 @@ +from typing import Dict + import isbnlib -def get_book_meta(isbn): +def get_book_meta(isbn: str) -> Dict[str, str]: meta_result = {} for provider in 'dnb', 'openl', 'goob': diff --git a/biscuit/apps/exlibris/views.py b/biscuit/apps/exlibris/views.py index 412f81a2020d5f8145ab1f4715868a1051c84fb0..ff2d3f9bc3f2bf6461a1d2952038bcdb3674cc2a 100644 --- a/biscuit/apps/exlibris/views.py +++ b/biscuit/apps/exlibris/views.py @@ -3,7 +3,7 @@ import os from tempfile import TemporaryDirectory from django.contrib.auth.decorators import login_required -from django.http import FileResponse +from django.http import FileResponse, HttpRequest, HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django.utils.text import slugify from django.utils.translation import ugettext_lazy as _ @@ -22,7 +22,7 @@ from .util import get_book_meta @login_required -def books(request): +def books(request: HttpRequest) -> HttpResponse: context = {} # Get all books @@ -37,7 +37,7 @@ def books(request): @login_required -def add_book(request): +def add_book(request: HttpRequest) -> HttpResponse: context = {} book_add_isbn_form = BookAddISBNForm(request.POST or None) @@ -52,7 +52,7 @@ def add_book(request): @login_required -def edit_book(request, id_=None, isbn=None): +def edit_book(request: HttpRequest, id_: Optoinal[int] = None, isbn: Optional[str] = None) -> HttpResponse: context = {} if id_: @@ -92,7 +92,7 @@ def edit_book(request, id_=None, isbn=None): @login_required -def delete_book(request, id_): +def delete_book(request: HttpRequest, id_: int) -> HttpResponse: book = get_object_or_404(Book, pk=id_) title = book.title @@ -107,7 +107,7 @@ def delete_book(request, id_): @login_required -def book(request, id_, template): +def book(request: HttpRequest, id_: int, template: str) -> HttpResponse: context = {} book = get_object_or_404(Book, pk=id_) @@ -125,7 +125,7 @@ def book(request, id_, template): @login_required -def add_book_copies(request, id_): +def add_book_copies(request: HttpRequest, id_: int) -> HttpResponse: context = {} book = get_object_or_404(Book, pk=id_) @@ -151,7 +151,7 @@ def add_book_copies(request, id_): @login_required -def edit_book_copy(request, id_): +def edit_book_copy(request: HttpRequest, id_: int) -> HttpResponse: context = {} book_copy = get_object_or_404(BookCopy, pk=id_) @@ -173,7 +173,7 @@ def edit_book_copy(request, id_): @login_required -def delete_book_copy(request, id_): +def delete_book_copy(request: HttpRequest, id_: int) -> HttpResponse: book_copy = get_object_or_404(BookCopy, pk=id_) book = book_copy.book @@ -189,7 +189,7 @@ def delete_book_copy(request, id_): @login_required -def book_copies_labels(request, id_): +def book_copies_labels(request: HttpRequest, id_: int) -> HttpResponse: book = get_object_or_404(Book, pk=id_) copies = book.copies.all() @@ -231,7 +231,7 @@ def book_copies_labels(request, id_): @login_required -def get_copy(request): +def get_copy(request: HttpRequest) -> HttpResponse: context = {} book_copy_form = BookGetCopyForm(request.POST or None) @@ -246,7 +246,7 @@ def get_copy(request): @login_required -def book_copy(request, barcode, template): +def book_copy(request: HttpRequest, barcode: str, template: str) -> HttpResponse: context = {} book_copy = get_object_or_404(BookCopy, barcode=barcode)