示例#1
0
def register():
    form = RegisterForm()
    openid_form=OpenIDForm()
    if openid_form.validate_on_submit():
        return oid.try_login(
            openid_form.openid.data,
            ask_for=['nickname','email'],
            ask_for_optional=['fullname']
        )
    if form.validate_on_submit():
        new_user = User()
        new_user.username = form.username.data
        new_user.nickname = form.nickname.data
        new_user.sex = form.sex.data
        new_user.set_password(form.password.data)
        db.session.add(new_user)
        db.session.commit()
        flash("注册成功,请登录!", category="success")
        return redirect(url_for('.login'))

    openid_errors=oid.fetch_error()
    if openid_errors:
        flash(openid_errors,category="danger")

    return render_template('register.html', form=form , openid_form=openid_form)
示例#2
0
def user_loader(session_token):
    """Populate user object, check expiry"""
    if "expires" not in session:
        return None

    expires = datetime.utcfromtimestamp(session["expires"])
    expires_seconds = (expires - datetime.utcnow()).total_seconds()
    if expires_seconds < 0:
        return None

    user = User()
    user.id = session_token
    user.nickname = session["nickname"]
    return user
示例#3
0
def new_post():
    if request.method == 'POST':
        jsonStr = request.get_data()
        data = json.loads(jsonStr)
        if hasattr(data, 'key') or data['key'] != "wysj3910":
            return "密钥错误!"
        new_post = Post(data['title'])  # 创建帖子
        new_post.text = data['text']  # 内容
        new_post.cover = data['cover']  # 封面
        new_post.publish_date = time.strftime(
            "%Y-%m-%d %H:%M:%S", time.localtime(data['publish_date']))  # 发布日期
        new_post.update_date = datetime.datetime.now()  #更新的日期
        user = User.query.filter_by(username=data['username']).first()  # 获取用户
        if not user:
            user = User(data['username'])
            if hasattr(data, 'nickname'):
                user.nickname = data['nickname']
        new_post.user = user  # 用户
        new_post.type = data['type']  # 类型
        new_post.summary = data['summary']  # 简介
        new_post.video = data['video']  # 视频地址
        new_post.read = data['read']  # 阅读量
        new_post.post_hash = data['post_hash']  #贴的hash值
        for photo_url in data['photos']:  # 图片列表
            if photo_url != '':
                photo = Photo(photo_url)
                new_post.photos.append(photo)

        for tagStr in data['tags']:  # 标签
            tagStr = tagStr.strip()
            tag = Tag.query.filter_by(title=tagStr).first()
            if not tag:
                tag = Tag(tagStr)
            new_post.tags.append(tag)
        db.session.add(new_post)
        db.session.commit()
        return json.dumps({'status': 0})
示例#4
0
def setup():
    db.create_all()

    admin_role = Role("admin")
    admin_role.description = "admin"
    db.session.add(admin_role)

    default_role = Role("default")
    default_role.description = "default"
    db.session.add(default_role)

    guest_role = Role("guest")
    guest_role.description = "guest"
    db.session.add(guest_role)

    db.session.commit()

    admin = User("Admin")
    admin.nickname = "管理员"
    admin.email = "*****@*****.**"
    admin.set_password('admin')
    admin.roles.append(admin_role)
    db.session.add(admin)

    official = User("PublicOfficial")
    official.nickname = "公共库用户"
    official.email = "*****@*****.**"
    official.set_password('official')
    admin.roles.append(admin_role)
    db.session.add(official)

    db.session.commit()

    # 创建原始公共库目录(共5个)
    script1 = Script('always_work.sg')
    script1.content = """Strategy T1:
    return 1"""
    script1.description = "永远合作"
    script1.user = official
    script1.is_private = False
    db.session.add(script1)

    script2 = Script('random_example.sg')
    script2.content = "Strategy T2:i = RANDOM(1);if(i==0){return 0}else{return 1}"
    script2.description = "`听天由命`,背叛与合作的几率为 50% (RANDOM 为系统范围内真随机)"
    script2.user = official
    script2.is_private = False
    db.session.add(script2)

    script3 = Script('slow_work.sg')
    script3.content = "Strategy T3:if(COUNT == 1){return 1}else{return CUR}"
    script3.description = "`慢半拍`:开局合作,随后一直跟随对方上一轮的选择"
    script3.user = official
    script3.is_private = False
    db.session.add(script3)

    script4 = Script('elusive_work.sg')
    script4.content = "Strategy T4:if (COUNT == 1){return 1}else {i = RANDOM(9);if (i == 9){return 0}else{return CUR}}"
    script4.description = "改进版`慢半拍`,开局合作,随后随机自我背叛,大几率跟随对方上一轮的选择"
    script4.user = official
    script4.is_private = False
    db.session.add(script4)

    script5 = Script('never_forgive.sg')
    script5.content = "Strategy T5:if(FLAG){return 0}else{return 1}"
    script5.description = "永不原谅,只要对方存在过背叛行为,就一直背叛"
    script5.user = official
    script5.is_private = False
    db.session.add(script5)

    db.session.commit()

    # 创建文章评论
    comment1 = Comment('comment1')
    comment1.user = admin
    comment2 = Comment('comment2')
    comment2.user = official
    comment3 = Comment('comment3')
    comment3.user = admin
    db.session.add(comment1)
    db.session.add(comment2)
    db.session.add(comment3)
    db.session.commit()

    post1 = Post('Post1', 'Content1')
    post1.user = official
    post1.category = PostCategory.General
    post1.comments.append(comment1)
    post1.comments.append(comment2)

    post2 = Post('Post2', 'Content2')
    post2.user = admin
    post2.category = PostCategory.Feedback
    post2.comments.append(comment3)

    db.session.add(post1)
    db.session.add(post2)

    db.session.commit()