コード例 #1
0
ファイル: views.py プロジェクト: gmist/solostyle
def add_image(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if not gallery:
       return render_template('empty.html')
    image_form = AddImageForm()
    if image_form.validate_on_submit():
        upload_files = get_uploads(request, 'image')
        if len(upload_files):
            blob_info = upload_files[0]
            if blob_info.size and GalleryImage.is_image_type(blob_info.content_type):
                img = GalleryImage.create(
                    blob_info.key(),
                    size=blob_info.size,
                    filename=os.path.basename(blob_info.filename.replace('\\','/')),
                    content_type=blob_info.content_type)
                if not len(gallery.images):
                    img.is_master = True
                if img.get_cached_url():
                    gallery.images.append(img)
                    gallery.put()
            else:
                blob_info.delete()
    else:
        return render_template('empty.html')
    return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
コード例 #2
0
ファイル: views.py プロジェクト: gmist/solostyle
def get_gallery(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if not gallery or not gallery.is_public or not gallery.images:
        return redirect(url_for('gallery.index'))
    return render_template(
        'gallery/get_gallery.html',
        html_class='gallery_page',
        gallery=gallery)
コード例 #3
0
ファイル: views.py プロジェクト: gmist/solostyle
def del_image(gallery_id, img_id):
    gallery = Gallery.get_by_id(gallery_id)
    if gallery:
        for i, k in enumerate(gallery.images):
            if k.uid == img_id:
                k.delete_blob()
                del gallery.images[i]
                gallery.put()
                break
    return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
コード例 #4
0
ファイル: views.py プロジェクト: gmist/solostyle
def edit_gallery(key_id):
    gallery = Gallery.get_by_id(key_id)
    form = EditGalleryForm(obj=gallery)
    image_form = AddImageForm()
    add_img_url = blobstore.create_upload_url(url_for('gallery.admin_add_image', gallery_id=gallery.key.id()))
    if request.method == 'POST' and form.validate():
        gallery.name = form.name.data
        gallery.is_public = form.is_public.data
        gallery.description = form.description.data
        gallery.put()
        return redirect(url_for('gallery.admin'))
    return render_template('gallery/admin/edit.html',
        title=u'Редактирование галереи',
        gallery=gallery,
        form=form,
        image_form=image_form,
        add_img_url=add_img_url)
コード例 #5
0
ファイル: views.py プロジェクト: gmist/solostyle
def edit_image(gallery_id, img_id):
    gallery = Gallery.get_by_id(gallery_id)
    image = None
    for i, img in enumerate(gallery.images):
        if img.uid == img_id:
            image = i
    if image is None:
        return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
    form = EditImageForm(obj=gallery.images[image])
    if request.method == 'POST' and form.validate():
        form.populate_obj(gallery.images[image])
        gallery.put()
        return redirect(url_for('gallery.admin_edit', key_id=gallery_id))
    return render_template('gallery/admin/edit_image.html',
        image=gallery.images[image],
        gallery=gallery,
        form=form)
コード例 #6
0
ファイル: views.py プロジェクト: gmist/solostyle
def del_gallery(gallery_id):
    gallery = Gallery.get_by_id(gallery_id)
    if gallery:
        gallery.key.delete()
    return redirect(url_for('gallery.admin'))