def post(self, index): index = int(index) if index not in Rolls: self.write_error(404) else: data = Rolls[index] ip = self.request.remote_ip if data['status'] == False: self.messages.error('投票已关闭!') self.redirect(url_for('roll', index)) return if self.current_user(): if data['host'] == self.current_user().id: self.messages.error('发起人就不要ROLL了吧...') self.redirect(url_for('roll', index)) return for i in data['points']: if ip in i['ip']: self.messages.error('IP重复,不可再次参与') self.redirect(url_for('roll', index)) return name = self.get_argument('name', '无名氏') point = random.randint(1, 999) data['points'].append({'name': name, 'point': point, 'ip': ip}) self.redirect(url_for('roll', index))
def get(self, record_id): _record = Books.get_by_pk(record_id) if _record: Books.remove_record_by_id(record_id) self.redirect(url_for('index')) else: self.redirect(url_for('index'))
def post(self): username = self.get_argument('username', "") password = self.get_argument('pwd', "") remember = self.get_argument('remember', False) next = self.get_argument('next', None) error = False u = User.auth(username, password) if not u: error = True self.messages.error("账号或密码错误!") if next: return self.redirect(next) return self.redirect(url_for("index")) if not error: self.messages.success('登录成功!') expires = 30 if remember else None self.set_secure_cookie('u', u.key, expires_days=expires) if next: return self.redirect(next) return self.redirect(url_for("index")) else: if next: return self.redirect(next) return self.redirect(url_for("index"))
def related_link(self): from view import url_for if self.related_type == OBJECT_TYPES.USER: return url_for('user_page', self.related_id) elif self.related_type == OBJECT_TYPES.TOPIC: return url_for('topic', self.related_id)
def topic_check(self, topic): if not topic: self.messages.error("找不到指定的主题") self.redirect(url_for("index")) return False if not topic.can_edit(self.current_user()): self.messages.error("你没有编辑该主题的权限") self.redirect(url_for("topic", topic.id)) return False return True
def post(self): title = self.get_argument("title", "").strip() board = self.get_argument("board", None) content = self.get_argument("content", "").strip() if title and config.TITLE_LENGTH_MIN <= len(title) <= config.TITLE_LENGTH_MAX and Board.exists_by_pk(board): t = Topic.new(title, self.current_user() or 0, board, content) self.redirect(url_for("topic", t.id)) else: # 非标准提交,不用过于客气 self.redirect(url_for("topic_new"))
def post(self): words = self.get_argument('words', '') # 用户的留言 dele_by_key = self.get_argument('theKey', '') IP = self.request.headers["X-Forwarded-For"] user = self.current_user() username = None word_user = None word_username = None if user is None: user = JsDict() user.username = "******" if dele_by_key != "": word_user = Board.get_one(Board.key == dele_by_key) if word_user is not None: word_username = word_user.username if user is not None: username = user.username if dele_by_key: if user.is_admin() or username == word_username: # 如果不是admin用户将无法删除 Board.dele_by_key(dele_by_key) self.write("删除成功!") else: self.write("您没有删除权限!") elif words: username = user.username user_re = re.compile(r"@(\S{3,19}) (.*)") try: foruser = user_re.search(words).group(1) if not User.exist(foruser): foruser = "" else: words = user_re.search(words).group(2) except Exception as e: foruser = "" if Board.num_lim(username): self.messages.error("留言过多,请联系管理员!") self.redirect("/board") elif user.username != "游客" and user.level == 0: self.messages.error("您暂时无法留言!") self.redirect(url_for("board")) else: Board.new(username, foruser, words, IP) self.messages.success("留言成功!") self.redirect(url_for("board")) else: self.redirect(url_for("board")) '''
def post(self, topic_id): topic = Topic.get_by_pk(topic_id) if not self.topic_check(topic): return title = self.get_argument("title", "").strip() content = self.get_argument("content", "").strip() if title and config.TITLE_LENGTH_MIN <= len(title) <= config.TITLE_LENGTH_MAX: topic.edit({"title": title, "content": content}, self.current_user()) self.messages.success("编辑成功") self.redirect(url_for("topic", topic.id)) else: # 非标准提交,不用过于客气 self.redirect(url_for("topic_new"))
def post(self): username = self.get_argument("username") password = self.get_argument("password") password_again = self.get_argument("password_again") next = self.get_argument('next', None) error = False if len(username) < 3: error = True self.messages.error("用户名长度必须大于等于3") if len(password) < 3: error = True self.messages.error("密码长度必须大于等于3") if User.exist(username): error = True self.messages.error("用户已存在!") if password != password_again: error = True self.messages.error("两次输入的密码不一致!") if not config.ALLOW_REG: error = True self.messages.error("注册已经关闭") if not error: u = User.new(username, password) self.messages.success("账户创建成功!") self.redirect( url_for('signin') + (('?next=%s' % next) if next else '')) return self.render('user/signup.html')
def get(self, index): index = int(index) if index not in Rolls: self.write_error(404) else: Rolls[index]['status'] = True self.redirect(url_for('roll', index))
def get(self, *args, **kwargs): user = self.current_user() stype = args[0] if stype == "1": article_query = Article.get_by_username(user.username) page_size = 5 cur_page = self.get_argument("cur_page", int(math.ceil(article_query.count() / page_size))) article = pagination(count_all=article_query.count(), query=article_query, page_size=page_size, cur_page=cur_page) self.render( 'personal/manager.html', article=article, comment={}, forperson={}, page_title="文章管理", ) elif stype == "2": comment_query = Comment.get_by_username(user.username) forperson_query = Comment.get_by_foruser(user.username) page_size = 5 cur_page1 = self.get_argument("cur_page1", int(math.ceil(comment_query.count() / page_size))) cur_page2 = self.get_argument("cur_page2", int(math.ceil(forperson_query.count() / page_size))) comment = pagination(count_all=comment_query.count(), query=comment_query, page_size=page_size, cur_page=cur_page1) forperson = pagination(count_all=forperson_query.count(), query=forperson_query, page_size=page_size, cur_page=cur_page2) self.render( 'personal/manager.html', article={}, comment=comment, forperson=forperson, page_title="评论管理", ) else: return self.redirect(url_for("index"))
def get(self, *args, **kwargs): next = self.get_argument("next", "") self.clear_cookie('u') self.messages.success("您已成功登出!") if next: return self.redirect(next) return self.redirect(url_for("index"))
def post(self, game_id): if not self.current_user(): self.messages.error('请先登录!') return self.redirect(url_for('signin')) if Games.is_reach_deadline(): self.messages.error("答题时间已经结束!") return self.redirect(url_for('game')) k = self.get_argument('key') if Games.solve(self.current_user(), game_id, k): self.messages.success("回答正确!") self.redirect(url_for('game')) else: self.messages.error("回答错误或已经回答过!") self.render(game=Games.get_without_key(game_id))
def post(self): username = self.get_argument("username") password = self.get_argument("password") password_again = self.get_argument("password_again") next = self.get_argument('next', None) error = False if not (3 <= len(username) <= 15): error = True self.messages.error("用户名长度必须在 3-15 之间") if len(password) < 3: error = True self.messages.error("密码长度必须大于等于3") if User.exist(username): error = True self.messages.error("用户已存在!") if password != password_again: error = True self.messages.error("两次输入的密码不一致!") if not error: u = User.new(username, password) self.messages.success("账户创建成功!") self.redirect(url_for('signin') + (('?next=%s' % next) if next else '')) return self.render('user/signup.html')
def post(self): username = self.get_argument("username") password = self.get_argument("password") next = self.get_argument('next', None) error = False if not (3 <= len(username) <= 15): error = True self.messages.error("用户名长度必须在 3-15 之间") if len(password) < 3: error = True self.messages.error("密码长度必须大于等于3") if User.exist(username): error = True self.messages.error("用户已存在!") # if password != password_again: # error = True # self.messages.error("两次输入的密码不一致!") if not error: u = User.new(username, password) self.set_secure_cookie("u", u.key) self.messages.success("账户创建成功!") self.redirect(url_for('index')) return self.render('user/signup.html')
def get(self): try: Games.load_from_json('save.json') self.messages.success("已读取记录中的进度") except: self.messages.error("没有找到备份文件") self.redirect(url_for('admin'))
def post(self): ret = self.value_valid(None) if self.messages.has_error(): self.render('admin/question_edit.html', question=JsDict(ret), title=u'添加题目', is_new_question=True) else: Games.game_add(ret) self.messages.success(u'添加题目成功') self.redirect(url_for('admin_questions'))
def get(self, game_id): if not self.current_user(): self.messages.error('请先登录!') return self.redirect(url_for('signin')) g = Games.data[int(game_id)] if g: ret = g.copy() del ret['key'] self.render(game=JsDict(ret))
def get(self): index = len(Rolls) + 1 Rolls[index] = { 'index': index, 'host': self.current_user().id, 'points': [], 'names': [], 'status': True } self.redirect(url_for('roll', index))
def last_post(self): """ 最近发表的留言""" from view import url_for ret = self.lasted_reply(self) if not ret: ret = self.lasted_topic(self) if ret: ret.src_link = url_for('topic', self.id) else: ret.src_link = ret.related_link return ret
def post(self, game_id): if not self.current_user(): self.messages.error('请先登录!') return self.redirect(url_for('signin')) if Games.is_end: self.messages.error("答题时间已经结束!") return self.redirect(url_for('game')) if not Games.depend_check(self.current_user(), int(game_id)): self.messages.error("题目尚未解锁!") return self.redirect(url_for('game')) k = self.get_argument('key') if Games.solve(self.current_user(), int(game_id), k): self.messages.success("回答正确!") self.redirect(url_for('game')) else: self.messages.error("回答错误或已经回答过!") self.render(game=Games.get_without_key(game_id))
def post(self, qid): ret = self.value_valid(qid) if self.messages.has_error(): q = Games.data.get(int(qid)) self.render('admin/question_edit.html', question=JsDict(ret), title=u'编辑:%s' % q['title']) else: ret['id'] = int(qid) Games.game_edit(ret) self.messages.success(u'编辑成功') self.redirect(url_for('admin_questions'))
def post(self): title = self.get_argument('board_title', '').strip() brief = self.get_argument('board_brief', None) if not title: self.messages.error('必须填写板块名') else: if brief: brief = brief.strip() if not MBoard.new(title, self.current_user(), brief): self.messages.error('创建失败,是否有同名板块存在?') #self.set_header('Location', self.request.headers.get("Referer")) self.redirect(url_for('admin_forum_board'))
def get(self, game_id): if not self.current_user(): self.messages.error('请先登录!') return self.redirect(url_for('signin')) g = Games.data[int(game_id)] if g and Games.depend_check(self.current_user(), int(game_id)): ret = g.copy() del ret['key'] self.render(game=JsDict(ret)) else: self.write_error(404)
def post(self): password = self.get_argument("password", "") new_password = self.get_argument("new_password", "") new_password_again = self.get_argument("new_password_again") if new_password != new_password_again: self.messages.error("两次输入的密码不一致!") if len(new_password) < 3: self.messages.error("密码长度必须大于等于3") if password == new_password: self.messages.error("新旧密码不能相同") if self.messages.has_error: return self.redirect(url_for('settings')) if not User.password_change(self.current_user().username, password, new_password): self.messages.error("修改密码失败") return self.redirect(url_for('settings')) self.clear_cookie('u') self.messages.success("修改密码成功,登录自动失效,请重新登录") self.redirect(url_for('signin'))
def post(self): username = self.get_argument("username") password = self.get_argument("password") error = False u = User.auth(username, password) if not u: error = True self.messages.error("帐号或密码错误!") if not error: self.messages.success("登陆成功!") self.set_secure_cookie("u", u.key) return self.redirect(url_for("index")) self.render('user/signin.html')
def post(self, title): content = self.get_argument('content', None) parent_id = self.get_argument('parent_id', None) root_item = WikiItem.get_by_keyword(title) if root_item and content: if root_item.current: parent = WikiArticle.get_by_pk(parent_id) if root_item.id == parent.root: article = WikiArticle.new(self.current_user(), root_item, parent, content) return else: article = WikiArticle.new(self.current_user(), root_item, None, content) return # 非标准提交直接转向 self.redirect(url_for('index'))
def post(self, record_id): title = self.get_argument('title') cost = self.get_argument('cost') num = self.get_argument('num') trading = self.get_argument('trading') str_time = self.get_argument('time_pay') num = 1 if not num else int(num) if str_time: time_pay = time.mktime(time.strptime(str_time, '%Y-%m-%d')) else: time_pay = None Books.update_record_by_id(record_id=record_id, title=title, num=num, cost=cost, trading=trading, _time=time_pay) self.redirect(url_for('index'))
def get(self, *args): key = args[0] ar = Article.get_by_key(key) page_size = 5 comment_query = Comment.get_by_article(key) cur_page = self.get_argument("cur_page", int(math.ceil(comment_query.count() / page_size))) comment = pagination(count_all=comment_query.count(), query=comment_query, page_size=page_size, cur_page=cur_page) next_back = Article.get_next_back(key) if ar is not None: page_title = ar.header self.render( "spider.html", page_title=page_title, ar=ar, comment=comment, next_back=next_back, ) else: self.messages.error("文章链接已经更新") self.redirect(url_for("index"))
def post(self): username = self.get_argument("username") password = self.get_argument("password") remember = self.get_argument('remember', False) next = self.get_argument('next', None) error = False u = User.auth(username, password) if not u: error = True self.messages.error("帐号或密码错误!") if not error: self.messages.success("登陆成功!") expires = 30 if remember else None self.set_secure_cookie("u", u.key, expires_days=expires) if next: return self.redirect(next) return self.redirect(url_for("index")) self.render('user/signin.html')
def post(self): user = self.current_user() title = self.get_argument('title') cost = self.get_argument('cost') num = self.get_argument('num') trading = self.get_argument('trading') str_time = self.get_argument('time_pay') num = 1 if not num else int(num) if str_time: time_pay = time.mktime(time.strptime(str_time, '%Y-%m-%d')) else: time_pay = None Books.new(title=title, num=num, cost=cost, trading=trading, user_id=user.id, _time=time_pay) self.redirect(url_for('index'))
def post(self): username = self.get_argument("username") password = self.get_argument("password") error = False if len(username) < 3: error = True self.messages.error("用户名长度必须大于等于3") if len(password) < 3: error = True self.messages.error("密码长度必须大于等于3") if User.exist(username): error = True self.messages.error("用户已存在!") if not error: u = User.new(username, password) self.messages.success("账户创建成功!") return self.redirect(url_for('signin')) self.render('user/signup.html')
def post(self): username = self.get_argument("username") password = self.get_argument("password") remember = self.get_argument('remember', False) next = self.get_argument('next', None) error = False u = User.auth(username, password) if not u: error = True self.messages.error("帐号或密码错误!") if not error: self.messages.success("登陆成功!") expires = 30 if remember else None self.set_secure_cookie("u", u.key, expires_days=expires) if next: return self.redirect(next) return self.redirect(url_for("index")) self.render('signin.html')
def get(self): self.messages.error('Message Test: Error!!中文测试!!') self.redirect(url_for('about'))
def get(self): Games.reset() self.messages.success('重置完成!') self.redirect(url_for('admin'))
def get(self): Games.is_end = False self.messages.success('答题重新开放!') self.redirect(url_for('admin'))
def get(self): Games.is_end = True self.messages.success('中止答题!') self.redirect(url_for('admin'))
def get(self): Games.reload_data() self.redirect(url_for('admin'))
def get(self): self.clear_cookie('u') self.messages.success("您已成功登出!") self.redirect(url_for("index"))
def get(self): Games.save_to_json('save.json') self.messages.success("进度已保存") self.redirect(url_for('admin'))
def get(self, qid): Games.game_rm(int(qid)) self.messages.success(u'题目%s已经删除!' % qid) self.redirect(url_for('admin'))