def get(self): siteData = datamodel.getSiteMeta().__dict__ nowPost = self.request.get('m') direction = self.request.get('d') c = 0 posts = [] if not nowPost or not direction: lastPost = LogItem.all().order("-when").fetch(1) if len(lastPost) == 0: return self.error(404) item = lastPost[0] while c < POSTS_PER_PAGE and item: c += 1 posts.append(item) item = item.prevPost if item: siteData['prev'] = item.key() else: if direction == 'prev': item = LogItem.get(db.Key(nowPost)) if item.nextPost: siteData['next'] = item.nextPost.key() while c < POSTS_PER_PAGE and item: c += 1 posts.append(item) item = item.prevPost if item: siteData['prev'] = item.key() if direction == 'next': item = LogItem.get(db.Key(nowPost)) if item.prevPost: siteData['prev'] = item.prevPost.key() while c < POSTS_PER_PAGE and item: c += 1 posts.insert(0, item) item = item.nextPost if item: siteData['next'] = item.key() siteData['posts'] = posts archives = Archive.all().order("-monthlyID") siteData['archives'] = archives template = jinja_environment.get_template('template/home.html') self.response.out.write(template.render(siteData, debug=_DEBUG)) self.response.headers['Cache-Control'] = 'max-age=36000, public' self.response.headers['Pragma'] = 'Public' self.response.headers.add_header("x-Whisper", "Ann, I love U.")
def get(self): siteData = datamodel.getSiteMeta().__dict__ template = jinja_environment.get_template('template/rss.xml') posts = LogItem.all().order("-when").fetch(10) siteData['posts'] = posts self.response.headers['Content-Type'] = 'application/xml' self.response.headers['Cache-Control'] = 'max-age=36000, public' self.response.headers['Pragma'] = 'Public' self.response.out.write(template.render(siteData))
def post(self, index): post = LogItem.get_by_id(int(index)) a = self.request.get('content') c = self.request.get('tags') post.what = a post.tags = list(set(filter(None, c.split(';')))) post.put() memcache.flush_all() self.redirect("/a/"+index+"/")
def get(self, tag): tag = tag.decode("utf-8") siteData = datamodel.getSiteMeta().__dict__ posts = LogItem.gql("WHERE tags=:1", tag) if posts is None: self.error(404) siteData['posts'] = posts siteData['tag'] = tag template = jinja_environment.get_template('template/tagged.html') self.response.headers['Cache-Control'] = 'max-age=36000, public' self.response.headers['Pragma'] = 'Public' self.response.out.write(template.render(siteData, debug=_DEBUG))
def get(self, index): siteData = datamodel.getSiteMeta().__dict__ post = LogItem.get_by_id(int(index)) if post is None: return siteData['post'] = post siteData['singleView'] = True siteData['comments'] = post.comments template = jinja_environment.get_template('template/onepostview.html') self.response.headers['Cache-Control'] = 'max-age=36000, public' self.response.headers['Pragma'] = 'Public' self.response.out.write(template.render(siteData, debug=_DEBUG))
def post(self): b = cgi.escape(self.request.get('whoseComment')) c = cgi.escape(self.request.get('whatComment')) d = cgi.escape(self.request.get('whereComment')) if d == "" : d = u"not provided" e = cgi.escape(self.request.get('postid')) if len(b)>=36: b = b[:35] a = LogItem.get_by_id(int(e)).key() #bad performance. comment = CommentItem(what=c, email=d, who=b, toWhich=a) comment.put() removeCache("/a/"+e+"/") self.redirect("/a/"+e+"/")
def get(self, year, month): dateHead = datetime(int(year), int(month), 1) if int(month) == 12: dateTail = datetime(int(year)+1, 1, 1) else: dateTail = datetime(int(year), int(month)+1, 1) posts = LogItem.all().order("-when").filter("when >", dateHead).filter("when <", dateTail) siteData = datamodel.getSiteMeta().__dict__ siteData['posts'] = posts siteData['year'] = year siteData['month'] = month template = jinja_environment.get_template('template/archive.html') self.response.headers['Cache-Control'] = 'max-age=36000, public' self.response.headers['Pragma'] = 'Public' self.response.out.write(template.render(siteData, debug=_DEBUG))
def get(self, index): siteData = datamodel.getSiteMeta().__dict__ siteData['index'] = index post = LogItem.get_by_id(int(index)) if post is None: return siteData['post'] = post template = Template(""" <html> <body> <form action="/boom/{{ index }}" method="post"> <div><textarea name="content" rows="30" cols="50">{{ post.what }}</textarea></div> <div><textarea name="tags" rows="30" cols="50">{% for tag in post.tags %}{{ tag }};{% endfor %}</textarea></div> <div><input type="submit" value="Post!"></div> </form> </body> </html>""") self.response.out.write(template.render(siteData, debug=_DEBUG))
def post(self):# TODO: expire the cookies and users. a = self.request.get('content') a = markdown.markdown(a) b = self.request.get('title') if b == "": b = "Untitled" c = self.request.get('tags') lastKey = LogItem.all().order("-when").fetch(1) if lastKey and len(lastKey) > 0: lastKey = lastKey[0].key() else: lastKey = None post = LogItem(title=b, what=a, tags=list(set(filter(None, c.split(';')))),prevPost=lastKey) post.put() if lastKey: prevItem = LogItem.get(lastKey) prevItem.nextPost = post.key() prevItem.put() datamodel.updateMeta() Archive().updateArchive() memcache.flush_all() self.redirect("/")