def get(self,slug,key,p="1"): dis = get_or_404(Discussion.get_discussion_by_key,slug,key) p = int(p) #check ACL check_roles(self,dis.role) #handler visit log if not self.user is None: key = "%s%s" %(self.user.name_lower,self.p) logs = memcache.get(":visitlogs:") if logs is None: logs = set([]) logs.add(key) memcache.set(":visitlogs:",logs,3600) self.template_value['f_tag']={'key':dis.tag_slug,'title':dis.tag_title,'show':'G' in dis.role,'post':True} self.template_value['disviews']=ShardCount.get_increment_count("disviews:"+key,"disviews") self.template_value['dis']=dis bookmark = Bookmark.get_bookmark(self.user,dis) if self.user else None self.template_value['bookmark'] = bookmark #comment page comments = PagedQuery(Comment.get_by_dis(dis),self.setting.comment_pagesize) temp = comments.fetch_page(p) self.template_value['prev']= p-1 if p>1 else None self.template_value['next']= p+1 if len(temp) == self.setting.comment_pagesize else None self.template_value['comments'] = temp self.template_value['p']=p self.render("dis.html")
def get(self,key_name): img = get_or_404(Image.get_by_key_name_with_cache,key_name) w = int(self.request.get("w","0")) h = int(self.request.get("h","0")) mime = 'image/jpeg' self.response.headers['Content-Type'] = mime self.response.out.write(resize(img.body,(w,h)))
def get(self,slug): p = int(self.request.get("p","1")) tag = get_or_404(Tag.get_tag_by_slug,slug) #check ACL check_roles(self,tag.role) self.p = p get_cell(tag.tag_type).tag_list(self,tag)
def get(self,key_name): album = get_or_404(Album.get_by_key_name,key_name) imgs = Image.all().filter('album =',album).order('-created').fetch(10) self.template_value['imgs']=imgs self.template_value['lastupdated'] = imgs[0].created if len(imgs) >0 else datetime.datetime.now() self.response.headers['Content-Type'] = "application/atom+xml" self.response.out.write(self.get_render("rss.xml"))
def get(self,size,key_name): referer = self.request.headers.get("Referer") if self.settings.is_anti_leech and referer is not None and (not check_referer(self,referer)): #將圖片替換為禁止盜鏈的圖片 key_name = self.settings.anti_leech_img #handler If-None-Match if size =='s': w,h = 120,120 else: w = int(self.request.get("w","0")) h = int(self.request.get("h","0")) key="%s:%s:%s" % (w,h,key_name) if_none_match = self.request.headers.get("If-None-Match") if if_none_match and if_none_match ==key: return self.error(304) img = get_or_404(Image.get_by_key_name_with_cache,key_name) img.view_count+=1 img.put() mime = str(img.mime) if w ==0 and h==0 else "image/jpeg" bf = img.get_resize_img(w,h) logging.info(len(bf)) self.response.headers['Content-Type'] = mime self.response.headers['ETag']=key self.response.headers['Cache-Control']="max-age=315360000" self.response.headers['Last-Modified']=format_date(img.created) self.response.out.write(bf)
def get(self): key = self.request.get('key') album = get_or_404(Album.get, key) imgs = Image.all().filter('album =', album) for img in imgs: img.delete() album.delete() self.redirect("/a/album/")
def post(self,slug): tag = get_or_404(Tag.get_tag_by_slug,slug) #check ACL check_roles(self,tag.role) check_roles(self,tag.add_role) self.m = 'post' get_cell(tag.tag_type).add(self,tag)
def get(self, slug): tag = get_or_404(Tag.get_tag_by_slug, slug) # check ACL check_roles(self, tag.role) check_roles(self, tag.add_role) # addrole self.m = "get" get_cell(tag.tag_type).add(self, tag)
def get(self,slug,key): dis = get_or_404(Discussion.get_discussion_by_key,slug,key) #check ACL check_roles(self,dis.role) if dis.user_name != self.user.name : return self.error(403) #shoud be 403 :) self.m = 'get' get_cell(dis.tag.tag_type).edit(self,dis)
def get(self,key): tag = get_or_404(Tag.get_by_key_name,key) #check feed ACL if not check_roles_feed(self,tag.role): return self.error(403) diss = Discussion.get_feed_by_tag(tag) self.template_value['diss']=diss self.template_value['lastupdated']= diss[0].created if len(diss)>0 else datetime.datetime.now() self.render('rss.xml')
def get(self,key_name): p = int(self.request.get('p','1')) album = get_or_404(Album.get_by_key_name,key_name) self.template_value['album']=album PAGESIZE = 500 if self.settings.theme <> 'default' else 24 imgs = PagedQuery(Image.all().filter('album = ',album),PAGESIZE) temp = imgs.fetch_page(p) self.template_value['prev']=p-1 if p>1 else None self.template_value['next'] = p +1 if len(temp) == PAGESIZE else None self.template_value['imgs'] = temp self.template_value['ps'] = range(1,imgs.page_count()+1) self.template_value['current_p'] = p self.render('album.html')
def post(self): key = self.request.get("key") name = self.request.get("name") name = name.strip() if len(name) == 0: self.template_value['error'] = True self.template_value['name'] = name return self.render('album_add.html') album = get_or_404(Album.get, key) album.name = name album.put() self.redirect("/a/album/")
def get(self, key_name): album = get_or_404(Album.get_by_key_name, key_name) p = int(self.request.get("p", "1")) imgs = PagedQuery( Image.all().filter("album =", album).order('-created'), PAGESIZE) temp = imgs.fetch_page(p) self.template_value['album'] = album self.template_value['prev'] = p - 1 if p > 1 else None self.template_value['next'] = p + 1 if len(temp) == PAGESIZE else None self.template_value['imgs'] = temp self.template_value['ps'] = range(1, imgs.page_count() + 1) self.template_value['current_p'] = p self.render('album_manage.html')
def get(self, slug, key, p="1"): dis = get_or_404(Discussion.get_discussion_by_key, slug, key) p = int(p) # check ACL check_roles(self, dis.role) # handler visit log if not self.user is None: key = "%s%s" % (self.user.name_lower, self.p) logs = memcache.get(":visitlogs:") if logs is None: logs = set([]) logs.add(key) memcache.set(":visitlogs:", logs, 3600) self.template_value["f_tag"] = { "key": dis.tag_slug, "title": dis.tag_title, "show": "G" in dis.role, "post": True, } # self.template_value['disviews']= dis.count_view = ShardCount.get_increment_count("disviews:" + key, "disviews") dis.put() self.template_value["dis"] = dis bookmark = Bookmark.get_bookmark(self.user, dis) if self.user else None self.template_value["bookmark"] = bookmark # comment page comments = PagedQuery(Comment.get_by_dis(dis), self.setting.comment_pagesize) temp = comments.fetch_page(p) self.template_value["prev"] = p - 1 if p > 1 else None self.template_value["next"] = p + 1 if len(temp) == self.setting.comment_pagesize else None self.template_value["comments"] = temp self.template_value["p"] = p self.render("dis.html")
def post(self): key = self.request.get("key") content = self.request.get("content") dis = get_or_404(Discussion.get_by_key_name,key) comment =Comment.new(self.user,dis,content) self.redirect(comment.url)
def get(self,key_name): img = get_or_404(Image.get_by_key_name_with_cache,key_name) self.response.headers['Content-Type'] = "application/octet-stream; CHARSET=utf8" self.response.headers['Content-Disposition']='attachment; filename=%s' % img.name.encode('utf-8') self.response.out.write(img.body)
def get(self): key_name = self.request.get("key") img = get_or_404(Image.get_by_key_name, key_name) img.delete() self.redirect(img.album.m_url)
def post(self): img = get_or_404(Image.get_by_key_name, self.request.get("key")) img.delete() self.response.out.write("ok")
def get(self): key = self.request.get("key") self.template_value['key'] = key self.template_value['album'] = get_or_404(Album.get, key) self.render('album_edit.html')
def get(self,name): user = get_or_404(User.get_user_by_name,name) diss = Discussion.get_recent_dis(user) self.template_value['diss']=diss self.template_value['lastupdated']= diss[0].created if len(diss)>0 else datetime.datetime.now() self.render('rss.xml')
def post(self): album = get_or_404(Album.get_by_key_name, self.request.get("album")) img = get_or_404(Image.get_by_key_name, self.request.get("img")) album.cover_url = img.s album.put() self.response.out.write(img.name)
def get(self,key_name): self.template_value['img']=get_or_404(Image.get_by_key_name,key_name) self.render('img.html')
def get(self): album = get_or_404(Album.get_by_key_name, self.request.get("album")) img = get_or_404(Image.get_by_key_name, self.request.get("img")) album.cover_url = img.s album.put() self.redirect("/a/album/")