Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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]
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
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()
Ejemplo n.º 7
0
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))
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
Archivo: auth.py Proyecto: xylong/fish
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)
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
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()
Ejemplo n.º 13
0
Archivo: gift.py Proyecto: xylong/fish
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))
Ejemplo n.º 14
0
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="当前书籍已经加入心愿清单,请不要重复加入")
Ejemplo n.º 15
0
 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
Ejemplo n.º 16
0
    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
Ejemplo n.º 17
0
 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]
Ejemplo n.º 18
0
 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)
Ejemplo n.º 19
0
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')
Ejemplo n.º 20
0
 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)
Ejemplo n.º 21
0
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)
Ejemplo n.º 22
0
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)
Ejemplo n.º 23
0
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()
Ejemplo n.º 24
0
 def reset_by_email(user, secret):
     with db.auto_commit():
         user.password = secret
         db.session.add(user)