Пример #1
0
 def migrate_all(self, id):
     gal = GalleryModel.get(id)
     if (gal):
         imgs = ImageModel.gql("WHERE gallery = :gallery", gallery=gal.key()).fetch(_MAX_FETCH)
         for img in imgs:
             result = ImageModel2.gql("WHERE orig_image = :img", img=img.key()).fetch(1)
             if not result:
                 imgblob             = ImageBlobModel()
                 imgblob.image       = img.image
                 imgblob.thumbnail   = img.thumbnail
                 imgblob.put()
         
                 img2            = ImageModel2()
                 img2.name       = img.name
                 img2.desc       = img.desc
                 img2.orig_image = img.key()
                 img2.priority   = img.priority
                 img2.gallery    = img.gallery
                 img2.imageblob  = imgblob.key()
                 img2.put()   
             else:
                 logging.info("Image %s has already been migrated" % img.key())
                 
     else:
         logging.info("Gallery %s not found" % id)
         self.error(503)
Пример #2
0
 def migrate(self, id):
     img = ImageModel.get(id)
     if (img):
         result = ImageModel2.gql("WHERE orig_image = :img", img=img.key()).fetch(1)
         if not result:
             imgblob             = ImageBlobModel()
             imgblob.image       = img.image
             imgblob.thumbnail   = img.thumbnail
             imgblob.put()
         
             img2            = ImageModel2()
             img2.name       = img.name
             img2.desc       = img.desc
             img2.priority   = img.priority
             img2.orig_image = img.key()
             img2.gallery    = img.gallery
             img2.imageblob  = imgblob.key()
             img2.put()
             referrer = self.request.headers['referer']
             self.redirect(referrer)
         else:
             logging.info("Image %s has already been migrated" % img.key())
             referrer = self.request.headers['referer']
             self.redirect(referrer)                
     else:
         self.error(503)
Пример #3
0
 def view(self, id):
     img = ImageModel2.get(id)
     if (img):
         data = {
             "img":		img,
             "template":	"public/image_view.tpl"
         }
         self.generate(base_template, data)
     else:
         self.error(503)
Пример #4
0
 def render_thumb(self, id):
     img = ImageModel2.get(id)
     if img:
         content_type, width, height = getImageInfo(img.imageblob.thumbnail)
         self.response.headers['Content-Type'] = content_type
         self.response.headers['Content-Disposition'] = img.name
         expires = datetime.datetime.now() + datetime.timedelta(days=7)
         self.response.headers.add_header("Expires", expires.strftime("%a, %d %b %Y %H:%M:%S %Z") + "GMT")
         self.response.headers['Cache-Control'] = 'public,max-age=%d' % int(7*24*60) 
         self.response.out.write(img.imageblob.thumbnail)
     else:
         self.error(404)
Пример #5
0
 def view(self, id, gal_name):
     gal = GalleryModel.get(id)
     if (gal):
         imgs = ImageModel2.gql("WHERE gallery = :gallery", gallery=gal.key()).fetch(_MAX_FETCH)
         imgs = sorted(imgs, priority_sort)
             
         data = {
             "gal_name":     gal_name,
             "gal":		gal,
             "imgs":		imgs,
             "template":	"public/gallery_view.tpl"
         }
         self.generate(base_template, data)
     else:
         self.error(503)
Пример #6
0
 def view_xml(self, id):
     gal = GalleryModel.get(id)
     if (gal):
         imgs = ImageModel2.gql("WHERE gallery = :gallery", gallery=gal.key()).fetch(_MAX_FETCH)
         imgs = sorted(imgs, priority_sort)
         xml = '<?xml version="1.0" encoding="utf-8"?>'
         xml += '<pics>'
         for img in imgs:
             src = '/image/?render=%s' % img.key()
             xml += '<pic src=%s title=%s/>' % (quoteattr(src), quoteattr(img.name))
         xml += '</pics>'
         self.response.headers['Content-Type'] = 'application/xml'
         self.response.out.write(xml)
     else:
         self.error(503)
Пример #7
0
 def render(self, id):
     image_model = ImageModel2.get(id)
     img_name = image_model.name.replace(' ', '');
     if (image_model):
         img = images.Image(image_model.imageblob.image)
         img.resize(1024, 768)
         image_output = img.execute_transforms(output_encoding=images.JPEG)
         self.response.headers['Content-Type'] = 'image/jpeg' 
         self.response.headers['Content-Disposition'] = 'filename=' + img_name
         expires = datetime.datetime.now() + datetime.timedelta(days=7)
         self.response.headers.add_header("Expires", expires.strftime("%a, %d %b %Y %H:%M:%S %Z") + "GMT")
         self.response.headers['Cache-Control'] = 'public,max-age=%d' % int(7*24*60)            
         self.response.out.write(image_output)
     else:
         self.error(404)
Пример #8
0
 def migrate_all(self):
     imgs = ImageModel.all()
     for img in imgs:
         result = ImageModel2.gql("WHERE orig_image = :img", img=img.key()).fetch(1)
         if not result:
             imgblob             = ImageBlobModel()
             imgblob.image       = img.image
             imgblob.thumbnail   = img.thumbnail
             imgblob.put()
         
             img2            = ImageModel2()
             img2.name       = img.name
             img2.desc       = img.desc
             img2.orig_image = img.key()
             img2.priority   = img.priority
             img2.gallery    = img.gallery
             img2.imageblob  = imgblob.key()
             img2.put()
         else:
             logging.info("Image %s has already been migrated" % img.key())