def picture_carousel(request, key): if request.user.is_authenticated(): return object_list(request, Picture.all().filter("album", db.Key(key)), template_name='picture_carousel.html') else: return HttpResponseRedirect('/account/login/')
def clear_old_picture(request): """ Функция для выполнения в cron Удаляет изображения старше * дней (значение берется из настроек в БД) """ try: days = Settings.all().get().days_for_old_picture except: days = getattr(settings, 'DAYS_FOR_OLD_PICTURE', 30) query = Picture.all().filter( "submitted_date <", datetime.datetime.today() - datetime.timedelta(days=days)) response = HttpResponse() for pic in query: response.write("<br/>Delete: " + str(pic.name)) # код для контролирования кол-ва занимаемого места user_free_size = User.get(pic.submitter.key()) user_free_size.free_size = user_free_size.free_size + len( pic.data) + len(pic.data_small) + len(pic.data_cover) user_free_size.put() pic.delete() response.write("<br/>Delete END: " + str(len(query))) return response
def index(): pictures = Picture.all().filter('status = ', 1) return render_template( 'frontend/index.html', pictures=pictures, title=u'Авторская галлерея', keywords= u"жанр, фэнтези, галереи, арт, художник, аватары, картинки, рисунки, в стиле фэнтези, драконы, эльфы, оборотни, абстратное фентези", description= u"галереи фэнтези, авторские работы, профессиональные авторские рисунки в стиле фентези" )
def review_picture(request, key, name): picture = Picture.get(db.Key(key)) query_list_image = Picture.all().filter("album", picture.album).fetch(999) try: next = query_list_image[query_list_image.index(picture)+1] except: next = False try: if not query_list_image.index(picture)==0: last = query_list_image[query_list_image.index(picture)-1] else: last = False except: last = False return render_to_response('view_picture.html', {'picture':picture, 'next':next, 'last':last, 'user': request.user})
def delete_album_ok(request, key): """ при успешном удаление альбома, освобождаем свободное место пользователя """ if request.user.is_authenticated(): pictures = Picture.all().filter('album', db.Key(key)).fetch(999) size = 0 for pic in pictures: size = size + len(pic.data) + len(pic.data_cover) + len(pic.data_small) pic.delete() # код для контролирования кол-ва занимаемого места user_free_size = User.get(request.user.key()) user_free_size.free_size = user_free_size.free_size + size user_free_size.put() return HttpResponseRedirect('/gallery') else: return HttpResponseRedirect('/account/login/')
def show_album(request, key): """ Выводит изображения альбома. Выборку делаем по ключу. """ if request.user.is_authenticated(): pic_list = Picture.all().filter("album", db.Key(key)) paginator = Paginator(pic_list, 10) try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 try: pic = paginator.page(page) except (EmptyPage, InvalidPage): pic = paginator.page(paginator.num_pages) return render_to_response('picture_list.html', {"pics": pic, "user":request.user}) else: return HttpResponseRedirect('/account/login/')
def delete_album_ok(request, key): """ при успешном удаление альбома, освобождаем свободное место пользователя """ if request.user.is_authenticated(): pictures = Picture.all().filter('album', db.Key(key)).fetch(999) size = 0 for pic in pictures: size = size + len(pic.data) + len(pic.data_cover) + len( pic.data_small) pic.delete() # код для контролирования кол-ва занимаемого места user_free_size = User.get(request.user.key()) user_free_size.free_size = user_free_size.free_size + size user_free_size.put() return HttpResponseRedirect('/gallery') else: return HttpResponseRedirect('/account/login/')
def show_album(request, key): """ Выводит изображения альбома. Выборку делаем по ключу. """ if request.user.is_authenticated(): pic_list = Picture.all().filter("album", db.Key(key)) paginator = Paginator(pic_list, 10) try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 try: pic = paginator.page(page) except (EmptyPage, InvalidPage): pic = paginator.page(paginator.num_pages) return render_to_response('picture_list.html', { "pics": pic, "user": request.user }) else: return HttpResponseRedirect('/account/login/')
def review_picture(request, key, name): picture = Picture.get(db.Key(key)) query_list_image = Picture.all().filter("album", picture.album).fetch(999) try: next = query_list_image[query_list_image.index(picture) + 1] except: next = False try: if not query_list_image.index(picture) == 0: last = query_list_image[query_list_image.index(picture) - 1] else: last = False except: last = False return render_to_response('view_picture.html', { 'picture': picture, 'next': next, 'last': last, 'user': request.user })
def clear_old_picture(request): """ Функция для выполнения в cron Удаляет изображения старше * дней (значение берется из настроек в БД) """ try: days = Settings.all().get().days_for_old_picture except: days = getattr(settings, 'DAYS_FOR_OLD_PICTURE', 30) query = Picture.all().filter("submitted_date <", datetime.datetime.today() - datetime.timedelta(days=days)) response = HttpResponse() for pic in query: response.write("<br/>Delete: "+str(pic.name)) # код для контролирования кол-ва занимаемого места user_free_size = User.get(pic.submitter.key()) user_free_size.free_size = user_free_size.free_size + len(pic.data) + len(pic.data_small) + len(pic.data_cover) user_free_size.put() pic.delete() response.write("<br/>Delete END: "+str(len(query))) return response
def pictures(): pictures = Picture.all() return render_template('admin/pictures/index.html', pictures=pictures, title=u'Рисунки')
def picture(id): key = db.Key(id) picture = Picture.all().filter('status = ', 1).filter('__key__ = ', key).get() return render_template('frontend/picture.html', picture=picture)
def pictures(): pictures = Picture.all() return render_template('admin/pictures/index.html', pictures=pictures, title=u'Рисунки')
def picture(id): key = db.Key(id) picture = Picture.all().filter('status = ', 1).filter('__key__ = ', key).get() return render_template('frontend/picture.html', picture=picture)
def index(): pictures = Picture.all().filter('status = ', 1) return render_template('frontend/index.html', pictures=pictures, title=u'Авторская галлерея', keywords=u"жанр, фэнтези, галереи, арт, художник, аватары, картинки, рисунки, в стиле фэнтези, драконы, эльфы, оборотни, абстратное фентези", description=u"галереи фэнтези, авторские работы, профессиональные авторские рисунки в стиле фентези")
def picture_carousel(request, key): if request.user.is_authenticated(): return object_list(request, Picture.all().filter("album", db.Key(key)), template_name='picture_carousel.html') else: return HttpResponseRedirect('/account/login/')