def search_late_borrower(self): borrowers = BorrowerController.search_late() for borrower in borrowers: book = BookController.get_book(borrower['book_id']) user = UserController.get_user(borrower['user_id']) d1 = datetime.strptime(borrower['return_at'], '%Y-%m-%d').date() d2 = date.today() delta = (d2 - d1).days borrower['penalty'] = (delta / 7) * OVERDUE_FINES borrower['title'] = book['title'] borrower['profile_picture'] = user['profile_picture'] borrower['fullname'] = user['fullname'] self.searchLateBorrowersCompleted.emit(borrowers)
def search_borrower(self, search_by='title', argument=''): _borrowers = BorrowerController.search_borrower({}) self.borrower_query = {'search_by': search_by, 'argument': argument} borrowers = [] for borrower in _borrowers: book = BookController.get_book(borrower['book_id']) user = UserController.get_user(borrower['user_id']) if (search_by == 'title' and argument.lower() not in book['title'].lower()) or ( search_by == 'fullname' and argument.lower() not in user['fullname'].lower()): continue borrower['title'] = book['title'] borrower['profile_picture'] = user['profile_picture'] borrower['fullname'] = user['fullname'] borrowers.append(borrower) self.searchBorrowersCompleted.emit(borrowers) self.search_late_borrower()