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)
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
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})
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()