def get(self,post_id): session = get_current_session() if session.has_key('user'): user = session['user'] try: post = Post.all().filter('nice_url =', helper.parse_post_id( post_id ) ).get() if post == None: #If for some reason the post doesn't have a nice url, we try the id. This is also the case of all old stories post = db.get( helper.parse_post_id( post_id ) ) comments = Comment.all().filter("post =", post.key()).order("-karma").fetch(1000) comments = helper.order_comment_list_in_memory(comments) prefetch.prefetch_comment_list(comments) display_post_title = True prefetch.prefetch_posts_list([post]) if helper.is_json(post_id): comments_json = [c.to_json() for c in comments if not c.father_ref()] if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'post':post.to_json(),'comments':comments_json})+')') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'post':post.to_json(),'comments':comments_json})) else: self.response.out.write(template.render('templates/post.html', locals())) except db.BadKeyError: self.redirect('/')
def get(self): page = helper.sanitizeHtml(self.request.get('pagina')) perPage = 20 page = int(page) if page else 1 realPage = page - 1 if realPage > 0: prevPage = realPage if (page * perPage) < Post.get_cached_count(): nextPage = page + 1 session = get_current_session() if session.has_key('user'): user = session['user'] posts = Post.all().order('-created').fetch(perPage,perPage * realPage) prefetch.prefetch_posts_list(posts) i = perPage * realPage + 1 for post in posts: post.number = i i = i + 1 if helper.is_json(self.request.url): posts_json = [p.to_json() for p in posts] if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'posts':posts_json})+');') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'posts':posts_json})) else: self.response.out.write(template.render('templates/main.html', locals()))
def get(self, user): page = helper.sanitizeHtml(self.request.get('pagina')) target_user_str= helper.sanitizeHtml(helper.parse_post_id(user)) perPage = 20 page = int(page) if page else 1 realPage = page - 1 if realPage > 0: prevPage = realPage session = get_current_session() if session.has_key('user'): user = session['user'] target_user = User.all().filter('lowercase_nickname =', target_user_str).fetch(1) if len(target_user) > 0: posts = Post.all().filter('user ='******'-created').fetch(perPage,perPage * realPage) if (page * perPage) < Post.all().filter('user ='******'-created').count(): nextPage = page + 1 prefetch.prefetch_posts_list(posts) i = perPage * realPage + 1 for post in posts: post.number = i i = i + 1 if helper.is_json(self.request.url): posts_json = [p.to_json() for p in posts] if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'posts':posts_json})+');') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'posts':posts_json})) else: self.response.out.write(template.render('templates/main.html', locals())) else: self.redirect('/')
def get(self): page = helper.sanitizeHtml(self.request.get('pagina')) perPage = 20 page = int(page) if page else 1 realPage = page - 1 if realPage > 0: prevPage = realPage if (page * perPage) < Post.get_cached_count(): nextPage = page + 1 session = get_current_session() if session.has_key('user'): user = session['user'] posts = Post.all().order('-created').fetch(perPage, perPage * realPage) prefetch.prefetch_posts_list(posts) i = perPage * realPage + 1 for post in posts: post.number = i i = i + 1 if helper.is_json(self.request.url): posts_json = [p.to_json() for p in posts] if (self.request.get('callback')): self.response.headers[ 'Content-Type'] = "application/javascript" self.response.out.write( self.request.get('callback') + '(' + simplejson.dumps({'posts': posts_json}) + ');') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'posts': posts_json})) else: self.response.out.write( template.render('templates/main.html', locals()))
def get(self,post_id): session = get_current_session() if session.has_key('user'): user = session['user'] try: post = Post.all().filter('nice_url =', helper.parse_post_id( post_id ) ).get() if post == None: #If for some reason the post doesn't have a nice url, we try the id. This is also the case of all old stories post = db.get( helper.parse_post_id( post_id ) ) comments = Comment.all().filter("post =", post.key()).order("-karma").fetch(1000) comments = helper.order_comment_list_in_memory(comments) prefetch.prefetch_comment_list(comments) display_post_title = True prefetch.prefetch_posts_list([post]) if helper.is_json(post_id): comments_json = [c.to_json() for c in comments if not c.father_ref()] if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'post':post.to_json(),'comments':comments_json})+')') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'post':post.to_json(),'comments':comments_json})) else: helper.killmetrics("Pageview","Post", "view", session, "",self) self.response.out.write(template.render('templates/post.html', locals())) except db.BadKeyError: self.redirect('/')
def get(self, nickname): nickname = helper.parse_post_id(nickname) session = get_current_session() if session.has_key('user'): user = session['user'] if session.has_key('profile_saved'): profile_saved = session.pop('profile_saved') profiledUser = User.all().filter('nickname =', nickname).fetch(1) if len(profiledUser) == 1: profiledUser = profiledUser[0] #TODO fix this horrible way of testing for the user if session.has_key('user') and user.key() == profiledUser.key(): my_profile = True if helper.is_json(self.request.url): if (self.request.get('callback')): self.response.headers[ 'Content-Type'] = "application/javascript" self.response.out.write( self.request.get('callback') + '(' + simplejson.dumps({ 'nickname': profiledUser.nickname, 'karma': profiledUser.karma, 'twitter': profiledUser.twitter, 'github': profiledUser.github, 'hn': profiledUser.hnuser }) + ')') else: self.response.headers[ 'Content-Type'] = "application/javascript" self.response.out.write( simplejson.dumps({ 'nickname': profiledUser.nickname, 'twitter': profiledUser.twitter, 'karma': profiledUser.karma, 'github': profiledUser.github, 'hn': profiledUser.hnuser })) else: self.response.out.write( template.render('templates/profile.html', locals())) else: self.redirect('/')
def get(self): page = helper.sanitizeHtml(self.request.get('pagina')) perPage = 20 page = int(page) if page else 1 realPage = page - 1 if realPage > 0: prevPage = realPage if (page * perPage) < Post.get_cached_count(): nextPage = page + 1 session = get_current_session() on_main = True if session.has_key('user'): user = session['user'] #### Killmetrics test killmetrics_session_id = helper.get_session_id(session) killmetrics_key = '' if hasattr(keys,'base_url') and hasattr(keys,'killmetrics_dev') and helper.base_url(self) != keys.base_url: killmetrics_key = keys.killmetrics_dev if hasattr(keys,'base_url') and hasattr(keys,'killmetrics_prod') and (helper.base_url(self) == keys.base_url or helper.base_url(self) == keys.base_url_custom_url): killmetrics_key = keys.killmetrics_prod #### Killmetrics test posts = Post.all().order('-karma').fetch(perPage, realPage * perPage) prefetch.prefetch_posts_list(posts) i = perPage * realPage + 1 for post in posts: post.number = i i = i + 1 if helper.is_json(self.request.url): posts_json = [p.to_json() for p in posts] if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'posts':posts_json})+');') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write(simplejson.dumps({'posts':posts_json})) else: self.response.out.write(template.render('templates/main.html', locals()))
def get(self, post_id): session = get_current_session() if session.has_key('user'): user = session['user'] try: post = db.get(helper.parse_post_id(post_id)) comments = Comment.all().filter( "post =", post.key()).order("-karma").fetch(1000) comments = helper.order_comment_list_in_memory(comments) prefetch.prefetch_comment_list(comments) display_post_title = True prefetch.prefetch_posts_list([post]) if helper.is_json(post_id): comments_json = [ c.to_json() for c in comments if not c.father_ref() ] if (self.request.get('callback')): self.response.headers[ 'Content-Type'] = "application/javascript" self.response.out.write( self.request.get('callback') + '(' + simplejson.dumps({ 'post': post.to_json(), 'comments': comments_json }) + ')') else: self.response.headers['Content-Type'] = "application/json" self.response.out.write( simplejson.dumps({ 'post': post.to_json(), 'comments': comments_json })) else: self.response.out.write( template.render('templates/post.html', locals())) except db.BadKeyError: self.redirect('/')
def get(self,nickname): nickname = helper.parse_post_id(nickname) session = get_current_session() if session.has_key('user'): user = session['user'] if session.has_key('profile_saved'): profile_saved = session.pop('profile_saved') profiledUser = User.all().filter('nickname =',nickname).fetch(1) if len(profiledUser) == 1: profiledUser = profiledUser[0] #TODO fix this horrible way of testing for the user if session.has_key('user') and user.key() == profiledUser.key(): my_profile = True if helper.is_json(self.request.url): if(self.request.get('callback')): self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(self.request.get('callback')+'('+simplejson.dumps({'nickname':profiledUser.nickname, 'karma':profiledUser.karma,'twitter':profiledUser.twitter,'github':profiledUser.github,'hn':profiledUser.hnuser})+')') else: self.response.headers['Content-Type'] = "application/javascript" self.response.out.write(simplejson.dumps({'nickname':profiledUser.nickname,'twitter':profiledUser.twitter, 'karma':profiledUser.karma, 'github':profiledUser.github,'hn':profiledUser.hnuser})) else: self.response.out.write(template.render('templates/profile.html', locals())) else: self.redirect('/')