Example #1
0
def upload_to(instance, filename):
    filename, ext = os.path.splitext(filename)
    filename = '.'.join((slugify(chunk) for chunk in filename.split('.')))
    if not filename:
        filename = md5(str(instance.pk) + str(time())).hexdigest()
    ext = ext.lower()
    if ext not in ('.jpg', '.jpeg', '.gif', '.png'):
        ext = '.unknown'
    slug = os.path.join(instance.article.category.slug, instance.article.slug)
    count = 1
    while os.path.exists(os.path.join('images', slug, filename + ext)):
        filename, _, current = filename.rpartition('_')
        try:
            count = int(current) + 1
        except ValueError:
            pass
        filename += filename + '_' + count
        count += 1
    return os.path.join('images', slug, filename + ext)
Example #2
0
def upload_image(request):
    upload_directory = os.path.join(settings.MEDIA_ROOT, 'images', 'upload')
    allowed_extensions = ('.jpg', '.jpeg', '.png', '.gif')
    size_limit = 375767
    uploaded = request.read
    file_size = int(uploaded.im_self.META['CONTENT_LENGTH'])
    file_name = uploaded.im_self.META['HTTP_X_FILE_NAME']
    file_name = urlunquote_plus(file_name)
    file_content = uploaded(file_size)
    file_name, extension = os.path.splitext(file_name)
    extension = extension.lower()
    if extension in allowed_extensions:
        file_name = slugify(file_name) + extension
        if file_size <= size_limit:
            file_path = os.path.join(upload_directory, file_name)
            if not os.path.exists(file_path):
                with open(file_path, 'wb+') as f:
                    f.write(file_content)
            content = {'success': True}
        else:
            content = {'error': 'File is too large.'}
    else:
        content = {'error': 'File has an invalid extension.'}
    return HttpResponse(json.dumps(content), content_type='application/json')
Example #3
0
 def get_slug(self):
     return slugify(self.name)
Example #4
0
 def get_slug(self):
     return slugify(self.name)
Example #5
0
 def get_slug(self):
     return slugify(self.get_first_name())
Example #6
0
 def get_slug(self):
     return slugify(self.get_first_name())