def get(self): """Handle user request The vote HTML page would list two random items in category and the result that the user just voted. """ category_key = self.request.get('category_key') if not category_key: self.redirect('/{path}?'.format(path=select_category_page_path) + urllib.urlencode({'select_category': 'Nothing'})) return user = users.get_current_user() url = users.create_logout_url(self.request.uri) if user else users.create_login_url(self.request.uri) win_item_name = self.request.get('win') lose_item_name = self.request.get('lose') category_data = category.get_category_by_key(key=category_key) vote_items = item.get_random_items(category_key=category_key) win_item = item.get_item_by_key(category_key=category_key, item_name=win_item_name) if win_item_name else None lose_item = item.get_item_by_key(category_key=category_key, item_name=lose_item_name) if lose_item_name else None template_values = { 'category': category_data, 'items': vote_items, 'url': url, 'user': user, 'win': win_item, 'lose': lose_item, } template = jinja_environment.get_template('{path}.html'.format(path=vote_item_page_path)) self.response.out.write(template.render(template_values))
def get(self): """Handle user request The comment HTML page would list all comments for the specified item. User could submit a comment. """ category_key = self.request.get('category_key') item_name = self.request.get('item_name') if not item_name: self.redirect('/{path}?'.format(path=select_category_action_path) + urllib.urlencode({'category_key': category_key, 'select_item': 'Nothing'})) return invalid_comment = self.request.get('re_comment') invalid_content = self.request.get('invalid_content') user = users.get_current_user() url = users.create_logout_url(self.request.uri) category_data = category.get_category_by_key(key=category_key) comment_item = item.get_item_by_key(category_key=category_key, item_name=item_name) comments = get_comments(category_key=category_key, item_name=item_name) template_values = { 'category': category_data, 'item': comment_item, 'comments': comments, 'url': url, 'user': user, 'invalid_comment': invalid_comment, 'invalid_content': invalid_content, } template = jinja_environment.get_template('{path}.html'.format(path=make_comment_page_path)) self.response.out.write(template.render(template_values))
def get(self): """Handle user request The select item HTML page would list all items in category. The user should select one of them to comment """ category_key = self.request.get('category_key') if not category_key: self.redirect('/{path}?'.format(path=select_category_page_path) + urllib.urlencode({'select_category': 'Nothing'})) return invalid_select = self.request.get('select_item') user = users.get_current_user() url = users.create_logout_url(self.request.uri) if user else users.create_login_url(self.request.uri) category_data = category.get_category_by_key(key=category_key) items = item.get_items(author=category_data.author, category_name=category_data.name) template_values = { 'category': category_data, 'items': items, 'url': url, 'user': user, 'invalid_select': invalid_select, } template = jinja_environment.get_template('{path}.html'.format(path=select_item_page_path)) self.response.out.write(template.render(template_values))
def get(self): """Handle user request Construct category information in XML web page """ category_key = self.request.get("category_key") if not category_key: self.redirect( "/{path}?".format(path=select_category_page_path) + urllib.urlencode({"select_category": "Nothing"}) ) return category_data = category.get_category_by_key(key=category_key) items = item.get_items(author=category_data.author, category_name=category_data.name) template_values = {"category": category_data, "items": items} template = jinja_environment.get_template("{path}.xml".format(path=result_page_path)) self.response.headers["Content-Type"] = "text/xml" self.response.out.write(template.render(template_values))
def get(self): """Handle user request The vote result HTML page would list statistics of vote ordered by wining percentage in descending. """ category_key = self.request.get('category_key') user = users.get_current_user() url = users.create_logout_url(self.request.uri) if user else users.create_login_url(self.request.uri) category_data = category.get_category_by_key(key=category_key) items = item.get_items(author=category_data.author, category_name=category_data.name, order='-percentage') template_values = { 'category': category_data, 'items': items, 'url': url, 'user': user, } template = jinja_environment.get_template('{path}.html'.format(path=result_page_path)) self.response.out.write(template.render(template_values))