def search_results(searchForm, prev=False): search = SearchForm(request.form) if request.method == 'POST' and prev == True: return search_results(search) searchString = searchForm.data['search'] search = SearchForm(request.form) books = db.session.query(Book).filter( Book.title.ilike("%" + searchString + "%")) authors = db.session.query(Author).filter( Author.name.ilike("%" + searchString + "%")) publishers = db.session.query(Publisher).filter( Publisher.name.ilike("%" + searchString + "%")) print(searchString) print(books, "books") print(authors, "authors") print(publishers, "publishers") return render_template('search.html', books=books, authors=authors, publishers=publishers, form=search)
def search(): """ Handles GET and POST on search form""" form = SearchForm() if request.method == "POST": if form.validate() is False: return render_template("/search.html", form=form) else: query = {InitConfig.studentID: str(form.studentId.data)} subject_code = str(form.subjectCode.data) form_grade_point = str(form.gradePoint.data) if form_grade_point != "": grade_point = float(form.gradePoint.data) document = DBHelper.findInDB(DBHelper(), query) if document is None: return "No data for this student exists" else: keys = document.keys() for key in keys: if InitConfig.semester in key: for subject in document[key][InitConfig.subjects]: if subject_code.lower() == subject[ InitConfig.code].lower(): if form_grade_point != "": if subject[InitConfig. grade_point] >= grade_point: return "Student has cleared this Prerequisit" else: return "Student has failed to clear this Prerequisit" else: return "Student has earned %.2f grade points in %s" % ( subject[InitConfig.grade_point], subject_code) return "Student has not taken %s" % subject_code elif request.method == "GET": return render_template("/search.html", form=form)
def publisherinfo(passedid, page): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) books = db.session.query(Book).filter(Book.publisherID == passedid).all() authors = db.session.query(Author).join(authorlist, authorlist.authorID == Author.id).\ join(Book, Book.id == authorlist.bookID).\ filter(Book.publisherID == passedid).all() if (page == 'book'): publisher = db.session.query(Publisher).filter( Publisher.id == passedid).first() elif (page == 'author'): authorBook = db.session.query(authorlist).filter( authorlist.bookID == passedid).first() book = db.session.query(Book).filter( Book.id == authorBook.bookID).first() publisher = db.session.query(Publisher).filter( Publisher.id == book.id).first() else: publisher = db.session.query(Publisher).filter( Publisher.id == passedid).first() return render_template('publisher.html', publisher=publisher, books=books, authors=authors, form=search)
def bookinfo(passedid, page): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) authors = db.session.query(Author).join(authorlist, authorlist.authorID == Author.id).\ join(Book, Book.id == authorlist.bookID).\ filter(Book.publisherID == passedid).all() publishers = db.session.query(Publisher).join(Book, Book.publisherID == Publisher.id).\ join(authorlist, authorlist.bookID == Book.id).\ filter(Publisher.id == passedid).all() if (page == "book"): book = db.session.query(Book).filter(Book.id == passedid).first() elif (page == "author"): authorBook = db.session.query(authorlist).filter( authorlist.bookID == passedid).first() book = db.session.query(Book).filter( Book.id == authorBook.bookID).first() else: book = db.session.query(Book).filter(Book.id == passedid).first() #authorID = db.session.query(authorlist).filter(authorlist.bookID == bookid).first() #author = db.session.query(Author).filter(Author.id == authorID).first() return render_template('book.html', book=book, publishers=publishers, authors=authors, form=search) #, author = author)
def index(): books = db.session.query(Book).all() search = SearchForm(request.form) if request.method == 'POST': return search_results(search, False) return render_template('hello.html', form=search)
def about(): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) p = subprocess.Popen(["python", "test.py"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) out, err = p.communicate() output = err + out output = output.decode("utf-8") #convert from byte type to string type return render_template('about.html', output="<br/>".join(output.split("\n")), form=search)
def publisherhome(pagenum): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) publishers = db.session.query(Publisher).all() if pagenum < 11: pubToPass = publishers[:pagenum] else: pubToPass = publishers[pagenum - 10:pagenum] pubCount = len(publishers) // 10 return render_template('publisherhome.html', publishers=pubToPass, pubCount=pubCount, form=search)
def authorhome(pagenum): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) authors = db.session.query(Author).all() if pagenum < 11: authorsToPass = authors[:pagenum] else: authorsToPass = authors[pagenum - 10:pagenum] authorsCount = len(authors) // 10 return render_template('authorhome.html', authors=authorsToPass, authorsCount=authorsCount, form=search)
def bookhome(pagenum): search = SearchForm(request.form) if request.method == 'POST': return search_results(search) books = db.session.query(Book, authorlist, Author, Publisher).join( Publisher, Book.publisherID == Publisher.id).join( authorlist, Book.id == authorlist.bookID).join( Author, authorlist.authorID == Author.id).all() if pagenum < 11: booksToPass = books[:pagenum] else: booksToPass = books[pagenum - 10:pagenum] booksCount = books = len(db.session.query(Book).all()) // 10 return render_template('bookhome.html', books=booksToPass, booksCount=booksCount, form=search)