Example #1
0
 def search_books(self, expression):
     query = self.session.query(Book).order_by(Book.name)
     
     if expression:
         query = query.filter(or_(
             Book.name.like("%" + expression + "%"),
             Book.authors.any(Author.name.like("%" + expression + "%"))))
         
     return map(lambda book: BookConverter.from_mo(book).to_dto(), query.all())
Example #2
0
 def get_book(self, book_dto):
     query = self.session.query(Book)
     
     if book_dto.id:
         query = query.filter(Book.id == book_dto.id)
         
     if book_dto.name:
         query = query.filter(Book.name == book_dto.name)
     
     book = query.one()
         
     return BookConverter.from_mo(book).to_dto()