forked from deepakbhimavarapu/WP_Mentor_training_2020
-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.py
18 lines (16 loc) · 936 Bytes
/
search.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
from models import Book
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy import create_engine, or_
engine = create_engine(os.getenv("DATABASE_URL"))
db_session = scoped_session(sessionmaker(bind=engine))
def search_book_by_type(qtype, query):
if qtype == 'ISBN':
books = db_session.query(Book).filter(or_(Book.isbn.like(f'%{query}'),Book.isbn.like(f'%{query}%'),Book.isbn.like(f'{query}%'), Book.isbn==query))
elif qtype == 'Name':
books = db_session.query(Book).filter(or_(Book.name.like(f'%{query}'),Book.name.like(f'%{query}%'),Book.name.like(f'{query}%'), Book.name==query))
elif qtype == 'author':
books = db_session.query(Book).filter(or_(Book.author.like(f'%{query}'),Book.author.like(f'%{query}%'),Book.author.like(f'{query}%'), Book.author==query))
elif qtype == 'year':
books = db_session.query(Book).filter(Book.year==query)
return books