def register_by_email(nickname, account, secret): with db.auto_commit(): user = User() user.nickname = nickname user.email = account user.password = secret db.session.add(user)
def check_bookinfo(self, temp): """ 检测数据库中是否有当前书籍信息 如果有则返回书籍信息, 否则先保存数据库 再返回书籍信息 """ bookinfo = BookInfo.query.get(temp.get('_id')) if bookinfo is None: with db.auto_commit(): bookinfo = BookInfo() bookinfo.id = temp.get('_id'), bookinfo.author = temp.get('author'), bookinfo.cat = temp.get('cat'), bookinfo.contentType = temp.get('contentType'), cover = temp.get('cover').replace('%2F', '/').replace( '/agent/', '').replace('%3A', ':') bookinfo.cover = cover, bookinfo.title = temp.get('title'), bookinfo.wordCount = temp.get('wordCount'), bookinfo.latelyFollower = temp.get('latelyFollower'), bookinfo.retentionRatio = temp.get('retentionRatio'), self.check_bookinfo_parse(bookinfo, temp) db.session.add(bookinfo) elif bookinfo.longIntro is None: self.check_bookinfo_parse(bookinfo, temp) db.session.add(bookinfo) return dict(bookinfo)
def check_book_case(bookid, type): """删除/添加书籍""" book = UserBookCase.query.filter_by(bookid=bookid).first() if book: if type is 0: with db.auto_commit(): book.status = 0 db.session.add(book) else: if type is 1: with db.auto_commit(): book = UserBookCase() book.bookid = bookid book.openid = g.user.openid db.session.add(book) books = UserBookCase.query.filter_by(openid=g.user.openid).all() return [dict(book) for book in books]
def register(): ha = request.form form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() user.set_attrs(form.data) db.session.add(user) return render_template('register.html', form=form)
def chapter_text_save(self, link): """保存章节内容""" books = BookChapter.query.filter_by(chapterLink=link).first() if books.chapterText is None or books.chapterText == "": with db.auto_commit(): books.chapterText = self.res.get('body') books.chaptersCount = len(self.res.get('body')) db.session.add(books) return dict(books)
def save_to_wish(): form = addToWish().validate_for_api() print(g.user) with db.auto_commit(): wish = Wishes() wish.wishIsbn = form.isbn.data wish.uid = g.user.id db.session.add(wish) return Success()
def save_to_wish(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): wish = Wish() wish.isbn = isbn wish.uid = current_user.id db.session.add(wish) else: flash('这本书已添加至赠送清单或已存在心愿清单') return redirect(url_for('web.book_detail', isbn=isbn))
def sign_up(): form = SignUpForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() user.set_attrs(form.data) db.session.add(user) login_user(user) return redirect(url_for('web.index')) return render_template('sign_up.html', form=form)
def register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() user.set_attrs(form.data) db.session.add(user) return redirect(url_for('web.login')) return render_template('auth/register.html', form=form)
def reset_password(new_password, token): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token.encode('utf-8')) except: return False id = data.get('id') with db.auto_commit(): user = User.query.filter_by(id=id) user.password = new_password return True
def reset_password(): form = ResetPasswordForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User.query.filter_by(username=current_user.username).first() if user.check_password(form.old_password.data): user.password = form.password.data db.session.add(user) logout_user() return redirect(url_for('web.login')) flash("原密码不对!请检查后再次输入") return render_template('reset_password.html', form=form)
def create(isbn): uid = g.user.uid with db.auto_commit(): Book.query.filter_by(isbn=isbn).first_or_not_found() gift = Gift.filter_by(isbn=isbn, uid=uid).first() if gift: raise DuplicateGift() gift = Gift() gift.isbn = isbn gift.uid = uid db.session.add(gift) return Success()
def save_to_gifts(isbn): if current_user.can_save_to_list(isbn): with db.auto_commit(): gift = Gift() gift.isbn = isbn gift.uid = current_user.id db.session.add(gift) current_user.beans += float( current_app.config['BEANS_UPLOAD_ONE_BOOK']) else: flash('这本书已添加至赠送清单或已存在心愿清单') return redirect(url_for('web.book_detail', isbn=isbn))
def save_to_gifts(isbn): yushu_book = YuShuBook() yushu_book.search_by_isbn(isbn) user_id = g.user.id if User.can_save_to_list(isbn, user_id): with db.auto_commit(): gift = Gift() gift.id = user_id gift.bookIsbn = yushu_book.books[0]['isbn'] db.session.add(gift) return Success() else: raise NotFound(msg="当前书籍已经加入心愿清单,请不要重复加入")
def check_bookinfo_parse(self, bookinfo, temp): with db.auto_commit(): bookinfo.longIntro = temp.get('longIntro'), rating = temp.get('rating') if rating: bookinfo.score = rating.get('score') bookinfo.chaptersCount = temp.get('chaptersCount'), bookinfo.lastChapter = temp.get('lastChapter').replace(' ', ''), updated = temp.get('updated') if updated is not None: updated = updated.split('T')[0] + " " + updated.split( 'T')[1].split('.')[0] bookinfo.updated = updated
def user_init_book(openid): """当用户注册的时, 默认给用户书架添加5本书籍""" books = current_app.config['BOOK_CASE_INIT'] try: for bookid in books: with db.auto_commit(): user = UserBookCase() user.openid = openid user.bookid = bookid db.session.add(user) except: return False return True
def chapter_parse_save(self): """保存章节""" books = BookChapter.query.filter_by( bookinfo_id=self.res.get('book')).all() if len(books) != len(self.res.get('chapters')): for temp in self.res.get('chapters'): with db.auto_commit(): books = BookChapter() books.bookinfo_id = self.res.get('book') books.chaptersCount = self.res.get('chaptersCount') books.chaptersUpdated = self.res.get('chaptersUpdated') books.chapterTile = temp.get('title') books.chapterLink = quote(temp.get('link')) db.session.add(books) return [dict(book) for book in books]
def save_user_info(self): user = UserInfo.query.get(self.userinfo.get('openid')) if not user: with db.auto_commit(): user = UserInfo() user.openid = self.userinfo.get('openid') user.nickName = self.userinfo.get('nickName') user.avatarUrl = self.userinfo.get('avatarUrl') user.gender = self.userinfo.get('gender') user.language = self.userinfo.get('language') user.city = self.userinfo.get('city') user.province = self.userinfo.get('country') user.country = self.userinfo.get('country') db.session.add(user) UserBookCase.user_init_book(self.openId) return dict(user)
def register(): born = request.form.get('born') data = request.form forms = StudentForm(request.form) if forms.validate(): print('校验无误') with db.auto_commit(): student = Student() student.set_attrs(forms.data) #处理映射关系 db.session.add(student) else: print(forms.errors) return jsonify(forms.errors) return jsonify(status='success')
def add_to_current_upload(book): book_detail = json.loads(book).get('book') for book_list in book_detail: with db.auto_commit(): books = Book() books.title = book_list['title'] books.author = book_list['author'] books.binding = book_list['binding'] books.publisher = book_list['publisher'] books.price = book_list['price'] books.pages = book_list['pages'] books.pubdate = book_list['pubdate'] books.isbn = book_list['isbn'] books.summary = book_list['summary'] books.image = book_list['image'] db.session.add(books)
def vote_page(): form = VoteForm(request.form) if request.method == 'POST' and form.validate(): # user = User.query.filter_by(username=current_user.get_id()).first() # if user.team_id != current_app.config['VOTE_TEAM']: # flash('只有点评组才能投票哦', category='privilege_error') # abort(403) vote = Vote.query.filter_by( voter=current_user.get_id(), lecturer=form.lecturer.data, event_id=current_app.config['EVENT_ID']).first() if not vote: vote = Vote() with db.auto_commit(): vote.set_attrs(form.data) vote.voter = current_user.get_id() vote.event_id = current_app.config['EVENT_ID'] db.session.add(vote) return render_template( 'vote.html', lecturers=User.query.filter(User.username != "Admin").all(), form=form)
from app import create_app from app.model.base import db from app.model.user import User app = create_app() with app.app_context(): with db.auto_commit(): user = User() user.nickname = 'Super' user.password = '******' user.email = '*****@*****.**' user.auth = 2 db.session.add(user)
def delete_user(): uid = g.user.uid with db.auto_commit(): user = User.query.filter_by(id=uid).first_or_not_found() user.delete() return DeleteSuccess()
def reset_by_email(user, secret): with db.auto_commit(): user.password = secret db.session.add(user)