def memcached_put(self): # overwrite "current" memcached version without version name in key (one for each name) utils.age_set(MEMCACHED_PREFIX + self.name, self) # set value for memcached key with version utils.age_set(MEMCACHED_PREFIX + self.name + str(self.key().id()), self)
def get_posts(cls, update = False): q = Post.all().order('-created').fetch(limit = 10) mc_key = 'BLOGS' posts, age = utils.age_get(mc_key) if update or posts is None: posts = list(q) utils.age_set(mc_key, posts) return posts, age
def get_posts(cls, update=False): q = Post.all().order('-created').fetch(limit=10) mc_key = 'BLOGS' posts, age = utils.age_get(mc_key) if update or posts is None: posts = list(q) utils.age_set(mc_key, posts) return posts, age
def get_all_versions(cls, page_name, update=False): # q = Wiki.all().order('-created').fetch(limit = 10) # q = Wiki.get_by_key_name(page_name, parent = utils.wiki_key()).order('-created') mc_key = page_name + "_VERSIONS" wikis, age = utils.age_get(mc_key) if update or wikis is None: # wikis = list(q) q = Wiki.gql("WHERE name = :name ORDER BY created DESC", name=page_name) wikis = q.fetch(limit=None) utils.age_set(mc_key, wikis) return wikis
def get_all_versions(cls, page_name, update=False): # q = Wiki.all().order('-created').fetch(limit = 10) # q = Wiki.get_by_key_name(page_name, parent = utils.wiki_key()).order('-created') mc_key = page_name + '_VERSIONS' wikis, age = utils.age_get(mc_key) if update or wikis is None: # wikis = list(q) q = Wiki.gql("WHERE name = :name ORDER BY created DESC", name=page_name) wikis = q.fetch(limit=None) utils.age_set(mc_key, wikis) return wikis
def get(self, page_name): # if version requested, return appropriate wiki version version = self.request.get('v', '') logging.error('WIKI VERSION REQUEST = ' + version) #MEMCACHED DISABLED wiki = '' wiki_key = '' # wiki_key = 'WIKI_' + page_name # wiki, age = utils.age_get(wiki_key) #if wiki not returned by memcached, lookup from db if not wiki: #get wiki from db via gql query if version != '': wiki = Wiki.get_by_id(int(version), utils.wiki_key()) logging.error("WIKI GET_BY_ID = " + repr(wiki)) else: query = Wiki.gql( "WHERE name =:page_name ORDER BY created desc LIMIT 1", page_name=page_name) wikis = query.fetch(limit=1) if len(wikis) > 0: wiki = wikis[0] if wiki: utils.age_set(wiki_key, wiki) age = 0 #if wiki exists, render WikiPage if wiki: self.params['wiki'] = wiki self.params['age'] = utils.age_str(age) self.render("wiki-page.html") #if wiki doesn't exist and user is logged in, redirect to WikiEdit.py elif not wiki and self.user: self.redirect('/_edit%s' % page_name) return #if url doesn't exist and user is NOT logged in, redirect to login else: self.redirect('/login')
def get(self, page_name): # if version requested, return appropriate wiki version version = self.request.get('v', '') logging.error('WIKI VERSION REQUEST = ' + version) #MEMCACHED DISABLED wiki = '' wiki_key = '' # wiki_key = 'WIKI_' + page_name # wiki, age = utils.age_get(wiki_key) #if wiki not returned by memcached, lookup from db if not wiki: #get wiki from db via gql query if version != '': wiki = Wiki.get_by_id(int(version), utils.wiki_key()) logging.error("WIKI GET_BY_ID = " + repr(wiki)) else: query = Wiki.gql("WHERE name =:page_name ORDER BY created desc LIMIT 1", page_name = page_name) wikis = query.fetch(limit=1) if len(wikis) > 0: wiki = wikis[0] if wiki: utils.age_set(wiki_key, wiki) age = 0 #if wiki exists, render WikiPage if wiki: self.params['wiki'] = wiki self.params['age'] = utils.age_str(age) self.render("wiki-page.html") #if wiki doesn't exist and user is logged in, redirect to WikiEdit.py elif not wiki and self.user: self.redirect('/_edit%s' % page_name) return #if url doesn't exist and user is NOT logged in, redirect to login else: self.redirect('/login')
def get(self, post_id): post_key = 'POST_' + post_id post, age = utils.age_get(post_key) #if post not returned, lookup from db #TODO: move db logic to utils or Post if not post: key = db.Key.from_path('Post', int(post_id), parent=utils.blog_key()) post = db.get(key) utils.age_set(post_key, post) age = 0 if not post: self.error(404) return if self.format == 'html': self.render("permalink.html", post = post, age = utils.age_str(age)) elif self.format == 'json': self.render_json(post.as_dict())
def get(self, post_id): post_key = "POST_" + post_id post, age = utils.age_get(post_key) # if post not returned, lookup from db # TODO: move db logic to utils or Post if not post: key = db.Key.from_path("Post", int(post_id), parent=utils.blog_key()) post = db.get(key) utils.age_set(post_key, post) age = 0 if not post: self.error(404) return if self.format == "html": self.render("permalink.html", post=post, age=utils.age_str(age)) elif self.format == "json": self.render_json(post.as_dict())