def upload(request): upload_url = blobstore.create_upload_url(url_for('image/admin/add')) blob_key = request.values.get('img_key') d = {'upload_url': upload_url} if blob_key: d['image'] = Image.get(blob_key) return render_to_response("image/admin/upload.html", d)
def delete(request): image_key = request.values.get('img_key') if image_key: img = Image.get(image_key) if img: img.delete() return Response('Ok')
def internal_thumb_image(value, size="700x700"): if value is None: return '' thumb = ThumbImage.get(value) if thumb: try: att = getattr(thumb, "thumb_%s" % size) except AttributeError: return '' return Image.get(att).image return ''
def img_tag(environment, value, prefix=''): if value is None: return '' i = memcache.get(value) if i is None: i = Image.get(value) if i: memcache.add(value, i, 7200) if i: return Markup(i.get_img_tag(prefix)) return ''
def link(environment, value): if value is None: return '' i = memcache.get(value) if i is None: i = Image.get(value) if i: memcache.add(value, i, 7200) if i: return Markup(i.get_link()) return ''
def get_img_url(key): img = ThumbImage.get(key) img_url = '' if img: try: att = getattr(img, "thumb_700x700") i = Image.get(att) img_url = i.get_link() except AttributeError: img_url = '' if img_url: return 'www.5studio.ru%s' % img_url return ''
def get(self, image_id): """Returns an image. Args: image_id: string representing the image id. """ try: image = Image.get(image_id) # TODO(sll): Support other image types. self.response.headers['Content-Type'] = str('image/%s' % image.format) self.response.write(image.raw) except: raise self.PageNotFoundException
def get_mini_main_thumb_url(gift): thumb_url = '' if gift.main_thumb: thumb = ThumbImage.get(gift.main_thumb) if thumb: try: att = getattr(thumb, "thumb_100x100") i = Image.get(att) thumb_url = i.get_link() except AttributeError: pass if thumb_url: return 'www.5studio.ru%s' % thumb_url return ''
def get_thumb_url(key, thumb_size = "400x400"): thumb_size_ = "thumb_%s" % thumb_size thumb = ThumbImage.get(key) thumb_url = '' if thumb: try: att = getattr(thumb, thumb_size_) i = Image.get(att) thumb_url = i.get_link() except AttributeError: thumb_url = '' if thumb_url: return 'www.5studio.ru%s' % thumb_url return ''
def get_main_img_url(gift): img_url = '' if gift.main_thumb: img = ThumbImage.get(gift.main_thumb) if img: try: att = getattr(img, "thumb_700x700") i = Image.get(att) img_url = i.get_link() except AttributeError: pass if img_url: return 'www.5studio.ru%s' % img_url return ''
def send_newsletter_task(request, user_key, newsletter_key): newsletter = Newsletter.get(newsletter_key) managers = [] message = mail.EmailMessage(sender=settings.DEFAULT_MAIL_FROM, subject=newsletter.title) user = UserProfile.get(user_key) message.to = user.email if not message.to: return Response("Ok") gifts = [] gifts_images = {} if newsletter.gifts: gifts_split = newsletter.gifts.split(",") for gift in gifts_split: try: gift = gift.strip() obj = Gift.all().filter("uid =", gift).get() if obj: gifts.append(obj) if obj.main_thumb: try: img = ThumbImage.get(obj.main_thumb) img = Image.get(img.thumb_200x200) if img: gifts_images[obj.uid] = base64.b64encode(str(img.image)) except Exception: pass except Exception: pass message_text = render_to_string( "postman/send_newsletter.html", {"newsletter": newsletter, "gifts": gifts, "managers": managers, "gifts_images": gifts_images}, ) message.html = message_text attachments = [] for file_key in newsletter.n_price_list: file_ = File.get(file_key) if file_ and file_.blob_key: bi = blobstore.BlobInfo.get(file_.blob_key) if bi: attachments.append(("%s" % file_.title_filename, bi.open().read())) message.attachments = attachments message.send() return Response("OK")
def get_image(request, thumb_key): thumb_key=string.rsplit(thumb_key, '.', maxsplit=1)[0] im = memcache.get(thumb_key) if not im: try: im = Image.get(thumb_key) except BadKeyError: return Response(status=404) if im: memcache.add(thumb_key, im, 28*24*60*60) if im: headers = Headers() headers['Content-Type'] = im.content_type headers['Last-Modified'] = im.modif_time.strftime(HTTP_DATE_FMT) current_day = datetime.today() exp_delta = timedelta(days=7) headers['Expires'] = (current_day + exp_delta).strftime(HTTP_DATE_FMT) return Response(im.image, headers=headers) return Response(status=404)
def write_category(wb, category, all=False): if category.gifts: ws = wb.add_sheet(category.name) if all: gifts = category.gifts else: gifts = category.gifts.filter('in_trash =', False).filter('leftovers >', 0) write_head(ws) for i, g in enumerate(gifts): url = 'http://www.5studio.ru/g/%s/' % g.uid ws.write(i + 1, 0, xlwt.Formula('HYPERLINK("%s")' % url)) if g.main_thumb: img = ThumbImage.get(g.main_thumb) if img and getattr(img, 'thumb_100x100'): img = "http://www.5studio.ru%s" % Image.get(img.thumb_100x100).get_link() ws.write(i + 1, 1, xlwt.Formula('HYPERLINK("%s")' % img)) ws.write(i + 1, 2, g.catalogue_id) ws.write(i + 1, 3, g.barcode) ws.write(i + 1, 4, g.name) ws.write(i + 1, 5, g.category.name) ws.write(i + 1, 6, g.group.name) ws.write(i + 1, 7, g.brand) ws.write(i + 1, 8, g.price) ws.write(i + 1, 9, g.real_price)
def send_newsletter_task2(request, email, newsletter_key_id): newsletter = Newsletter2.get_by_id(newsletter_key_id) managers = [] for mgr_id in newsletter.managers: mgr = Manager.get_by_id(mgr_id) if mgr: managers.append(mgr) message = mail.EmailMessage(sender=settings.DEFAULT_MAIL_FROM, subject=newsletter.title) message.to = email if not message.to: return Response("Ok") mangers_emails = [manager.email for manager in managers] if mangers_emails: message.reply_to = ",".join(mangers_emails) gifts = [] gifts_images = {} if newsletter.gifts: gifts_split = newsletter.gifts.split(",") for gift in gifts_split: try: gift = gift.strip() obj = Gift.all().filter("uid =", gift).get() if obj: gifts.append(obj) if obj.main_thumb: try: img = ThumbImage.get(obj.main_thumb) img = Image.get(img.thumb_200x200) if img: gifts_images[obj.uid] = base64.b64encode(str(img.image)) except Exception: pass except Exception: pass message_text = render_to_string( "postman/send_newsletter2.html", {"newsletter": newsletter, "gifts": gifts, "managers": managers, "gifts_images": gifts_images}, ) message.html = message_text attachments = [] for file_key in newsletter.n_price_list: file_ = File.get(file_key) if file_ and file_.blob_key: bi = blobstore.BlobInfo.get(file_.blob_key) if bi: attachments.append(("%s" % file_.title_filename, bi.open().read())) if attachments: message.attachments = attachments try: message.send() except apiproxy_errors.OverQuotaError: def txn(): taskqueue.add( url=url_for("postman/send_newsletter_task2", email=email, newsletter_key_id=newsletter_key_id), transactional=True, ) db.run_in_transaction(txn) return Response("OK")