def get(self, path): gdict = self.GET path = urllib.unquote(path) if path == config.FEED_SRC: #FEED self.set_content_type("atom") posts = Post.get_feed_post(config.FEED_NUMBER) self.render("feed.xml", {"posts": posts }) return post = Post.get_by_path(path) if post: p = gdict.get("p", None) p = int(p) if p and p.isdigit() else 1 def post_comment_filter(query): query = query.filter("belong =", post) if config.COMMENT_NEEDLOGINED: query = query.filter("hashcheck =", True) query = query.order("date_created") return query post_comments = Comment.fetch_page(p, config.COMMENT_PAGE_COUNT, func=post_comment_filter, realtime_count=True) context = {"post": post, "post_comments": post_comments, } self.render("single.html", context) return
def get(self, instruct=None): if instruct == "view_counter": view = memcache.get("views") if view != None: for path,v in view.items(): post = Post.get_by_path(path) if post: post.views += v post.put() memcache.delete("views", namespace="Front")
def gender_url(url, filter_func=lambda url: Post.get_by_path(url)): p = filter_func(url) if not p: return url genter = genid(1) if url.find("/") != -1: if url.split("/")[-1].find(".") != -1: ori, ext = url[:url.rfind(".")], url[url.rfind("."):] else: ori, ext = url[:url.rfind("/")], url[url.rfind("/"):] elif url.find(".") != -1: ori, ext = url[:url.rfind(".")], url[url.rfind("."):] else: ori, ext = url, "" while(filter_func(url)): url = "%s%d%s" % (ori, genter.next(), ext) return url