Exemplo n.º 1
0
            def save(self):
                picture = super(AddPictureForm, self).save(commit=False)
                picture.submitter = request.user  # при сохранение, поле заполняем данными из request

                if not len(request.META["HTTP_USER_AGENT"]) > 4:
                    if not imghdr.what(None,
                                       h=picture.data):  # проверяем тип файла
                        raise forms.ValidationError(
                            u'Filetype is not png format')

                try:
                    width_samll = Settings.all().get().width_for_small_picture
                    width_cover = Settings.all().get().width_for_cover_album
                except:
                    width_samll = getattr(settings, 'WIDTH_FOR_SMALL_PICTURE',
                                          400)
                    width_cover = getattr(settings, 'WIDTH_FOR_COVER_ALBUM',
                                          200)
                picture.data_small = images.resize(picture.data,
                                                   width=width_samll)
                picture.data_cover = images.resize(picture.data,
                                                   width=width_cover)

                # код для контролирования кол-ва занимаемого места
                user_free_size = User.get(request.user.key())
                user_free_size.free_size = user_free_size.free_size - len(
                    picture.data) - len(picture.data_small) - len(
                        picture.data_cover)
                user_free_size.put()

                picture.save()
                return picture
Exemplo n.º 2
0
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
Exemplo n.º 3
0
            def save(self):
                picture = super(AddPictureForm, self).save(commit=False)
                picture.submitter = request.user # при сохранение, поле заполняем данными из request

                if not len(request.META["HTTP_USER_AGENT"])>4:
                    if not imghdr.what(None, h=picture.data): # проверяем тип файла
                        raise forms.ValidationError(u'Filetype is not png format')

                try:
                    width_samll = Settings.all().get().width_for_small_picture
                    width_cover = Settings.all().get().width_for_cover_album
                except:
                    width_samll = getattr(settings, 'WIDTH_FOR_SMALL_PICTURE', 400)
                    width_cover = getattr(settings, 'WIDTH_FOR_COVER_ALBUM', 200)
                picture.data_small = images.resize( picture.data, width=width_samll)
                picture.data_cover = images.resize( picture.data, width=width_cover)

                # код для контролирования кол-ва занимаемого места
                user_free_size = User.get(request.user.key())
                user_free_size.free_size = user_free_size.free_size - len(picture.data) - len(picture.data_small) - len(picture.data_cover)
                user_free_size.put()

                picture.save()
                return picture
Exemplo n.º 4
0
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