Example #1
0
def book_detail(isbn):
    has_in_gifts = False
    has_in_wishes = False

    if current_user.is_authenticated:
        if Gift.query.filter_by(uid=current_user.id, isbn=isbn).first():
            has_in_gifts = True
        if Wish.query.filter_by(uid=current_user.id, isbn=isbn).first():
            has_in_wishes = True

    yushu_book = YuShuBook()
    yushu_book.isbnSearch(isbn)
    book = BookViewModel(yushu_book.first)

    gifts = Gift.query.filter_by(isbn=isbn, launched=False).all()
    wishes = Wish.query.filter_by(isbn=isbn, launched=False).all()

    trade_gifts = TradeInfo(gifts)
    trade_wishes = TradeInfo(wishes)

    return render_template('book_detail.html',
                           book=book,
                           gifts=trade_gifts,
                           wishes=trade_wishes,
                           has_in_gifts=has_in_gifts,
                           has_in_wishes=has_in_wishes)
Example #2
0
def search():
    # 注意验证层
    form = SearchForm(request.args)
    book = BookCollection()

    if form.validate():
        q = form.q.data.strip()
        page = form.page.data
        print(q, page)
        isbn_or_key = is_isbn_or_key(q)
        yushu_book = YuShuBook()

        if isbn_or_key == "isbn":
            yushu_book.isbnSearch(q)
        else:
            yushu_book.keySearch(q)

        book.fill(yushu_book, q)
        # return json.dumps(book,default=lambda obj:obj.__dict__)

    else:
        flash('关键字错误,请重新输入关键字')
        # return jsonify(form.errors)

    return render_template('search_result.html', books=book)
Example #3
0
    def can_save_to_list(self, isbn):
        if isIsbnOrKey(isbn) != 'isbn':
            return False

        yushu_book = YuShuBook()
        yushu_book.isbnSearch(isbn)
        if not yushu_book.first:
            return False

        gift = Gift.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first()
        wish = Wish.query.filter_by(isbn=isbn, uid=current_user.id, launched=False).first()
        if not gift and not wish:
            return True
        return False
Example #4
0
    def can_save_to_list(self, isbn):
        # 1.判断isbn格式
        # 2.判断isbn是否存在
        # 3.一个人不能同时赠送多本书(根据launched)
        # 4.用户既不能又在赠送这本书状态下又索要这本书
        if is_isbn_or_key(isbn) != 'isbn':
            return False

        yushubook = YuShuBook()
        yushubook.isbnSearch(isbn)
        if not yushubook.first:
            return False

        gift = Gift.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first()  # 证明这个用户这个书正在赠送
        wish = Wish.query.filter_by(uid=current_user.id, isbn=isbn, launched=False).first()  # 证明这个用户这个书正在索要
        if not gift and not wish:
            return True
        return False
Example #5
0
def search():
    wtforms = SearchForm(request.args)  #传入所有参数,会自动分配验证
    book = BookCollection()
    if wtforms.validate():  #开始进行验证,并且返回布尔值
        q = wtforms.q.data.strip()  #从验证中获取数据
        page = wtforms.page.data

        is_isbn_or_key = isIsbnOrKey(q)
        yushuBook = YuShuBook()

        if is_isbn_or_key == 'isbn':
            yushuBook.isbnSearch(q)
        if is_isbn_or_key == 'key':
            yushuBook.keySearch(q, page)

        book.fill(yushuBook, q)
        # return json.dumps(book,default=lambda obj:obj.__dict__)
    else:
        flash('关键字错误,请重新输入关键字')
        # return jsonify(wtforms.errors) #返回所有错误信息
    return render_template('search_result.html', books=book)
Example #6
0
def search():
    wtforms = SearchForm(request.args)
    book = BookCollection()
    if wtforms.validate():
        q = wtforms.q.data.strip()
        page = wtforms.page.data

        is_isbn_or_key = isIsbnOrKey(q)

        yushu_book = YuShuBook()

        if is_isbn_or_key == 'isbn':
            yushu_book.isbnSearch(q)

        if is_isbn_or_key == 'key':
            yushu_book.keySearch(q, page)

        book.fill(yushu_book, q)

    else:
        flash('关键字错误,请重新输入关键字')

    return render_template('search_result.html', books=book)
Example #7
0
def book_detail(isbn):
    # 分三种情况
    # 1. 判断是否已经赠送当前书籍
    # 2. 判断是否已经索要当前书籍
    # 3. 判断是否既不赠送也不索要当前书籍
    # 两个False是第三种情况
    has_in_gifts = False
    has_in_wishes = False

    # 如果登陆了,判断 1 2情况
    if current_user.is_authenticated:
        if Gift.query.filter_by(uid=current_user.id, isbn=isbn,
                                launched=False).first():
            has_in_gifts = True
        if Wish.query.filter_by(uid=current_user.id, isbn=isbn,
                                launched=False).first():
            has_in_wishes = True

    # 书籍详情信息
    yushubook = YuShuBook()
    yushubook.isbnSearch(isbn)
    book = BookViewModel(yushubook.first)

    # 获取赠送列表和心愿列表
    gifts = Gift.query.filter_by(isbn=isbn, launched=False).all()
    wishes = Wish.query.filter_by(isbn=isbn, launched=False).all()

    trade_gitfs = TradeInfo(gifts)
    trade_wishes = TradeInfo(wishes)

    return render_template('book_detail.html',
                           book=book,
                           gifts=trade_gitfs,
                           wishes=trade_wishes,
                           has_in_gifts=has_in_gifts,
                           has_in_wishes=has_in_wishes)
Example #8
0
 def book(self):
     yushubook=YuShuBook()
     yushubook.isbnSearch(self.isbn)
     return yushubook.first