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 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): 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 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("/")