예제 #1
0
 def __init__(self, filetype='file', upload_dir='files', size_limit=10485760):
     self._upload_dir = os.path.join(settings.MEDIA_ROOT, upload_dir, get_date_directory())
     self._filetype = filetype
     if filetype == 'image':
         self._save_format = setting('IMAGE_UPLOAD_FORMAT', 'JPEG')
     else:
         self._save_format = None
     self._size_limit = size_limit
예제 #2
0
 def __init__(self, filetype="file", uploadDirectory="files", sizeLimit=10485760):
     self._upload_dir = os.path.join(settings.MEDIA_ROOT, uploadDirectory, get_date_directory())
     self._filetype = filetype
     if filetype == "image":
         self._save_format = setting("IMAGE_UPLOAD_FORMAT", "JPEG")
     else:
         self._save_format = None
     self._size_limit = sizeLimit
예제 #3
0
class Doc(AbstractContent, AbstractFile):
    filetype = models.IntegerField(_("Doc type"),
                                   choices=DOC_TYPE,
                                   default=DOC_FILE)
    doc = models.FileField(_("File"),
                           upload_to='doc/' + get_date_directory(),
                           max_length=1024,
                           blank=True)

    class Meta:
        ordering = [
            'position',
        ]
        verbose_name = _("Doc")
        verbose_name_plural = _("Docs")

    objects = AbstractContentManager()

    def save(self, *args, **kwargs):
        # noinspection PyBroadException
        try:
            docs = Doc.objects.for_object(self.content_object)
            if self.pk:
                docs = docs.exclude(pk=self.pk)
            if DOC_MAX_PER_OBJECT > 1:
                if self.primary:
                    docs = docs.filter(primary=True)
                    docs.update(primary=False)
            else:
                docs.delete()
        except:
            pass
        fullpath = os.path.join(settings.MEDIA_ROOT, self.doc.field.upload_to,
                                self.doc.path)
        self.size = os.path.getsize(fullpath)
        super(Doc, self).save(*args, **kwargs)

    def delete(self, *args, **kwargs):
        # noinspection PyBroadException
        try:
            remove_file(self.doc.path)
        except:
            pass
        super(Doc, self).delete(*args, **kwargs)

    def get_absolute_url(self):
        return reverse(os.path.join(settings.MEDIA_URL, self.doc.url))

    def get_file_link(self):
        return os.path.join(settings.MEDIA_URL, self.doc.url)

    def get_del_url(self):
        return reverse("doc_del", args=[self.id])

    def get_edit_url(self):
        return reverse("doc_edit", args=[self.id])
예제 #4
0
 def __init__(self,
              filetype='file',
              upload_dir='buffer_files',
              size_limit=10485760):
     self._upload_dir = os.path.join(upload_dir, get_date_directory())
     self._filetype = filetype
     if filetype == 'image':
         self._save_format = setting('IMAGE_UPLOAD_FORMAT', 'JPEG')
     else:
         self._save_format = None
     self._size_limit = size_limit
예제 #5
0
def image_from_url(url):
    upload_dir = settings.THUMBNAIL_DIR
    img_file = urllib2.urlopen(url)
    im = StringIO(img_file.read())
    image = Image.open(im)
    if image.mode not in ('L', 'RGB'):
        image = image.convert('RGB')
    image = fit(image, 300)
    image = aspect_ratio(image, 16, 9)
    timedir = get_date_directory()
    filename = urlparse(url).path.split('/')[-1]
    ext = os.path.splitext(filename)[1]
    new_filename = md5(filename.encode('utf8')).hexdigest() + ext
    path = os.path.join(settings.MEDIA_ROOT, upload_dir, timedir, new_filename)
    try:
        os.makedirs(os.path.realpath(os.path.dirname(path)))
    except:
        pass
    image.save(path, 'jpeg')
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #6
0
파일: backends.py 프로젝트: ukaoma/nnmware
def image_from_url(url):
    upload_dir = settings.THUMBNAIL_DIR
    img_file = urllib2.urlopen(url)
    im = StringIO(img_file.read())
    image = Image.open(im)
    if image.mode not in ('L', 'RGB'):
        image = image.convert('RGB')
    image = fit(image, 300)
    image = aspect_ratio(image, 16, 9)
    timedir = get_date_directory()
    filename = urlparse(url).path.split('/')[-1]
    ext = os.path.splitext(filename)[1]
    new_filename = md5(filename.encode('utf8')).hexdigest() + ext
    path = os.path.join(settings.MEDIA_ROOT, upload_dir, timedir, new_filename)
    try:
        os.makedirs(os.path.realpath(os.path.dirname(path)))
    except:
        pass
    image.save(path, 'jpeg')
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #7
0
파일: backends.py 프로젝트: nnmware/nnmware
def image_from_url(url):
    upload_dir = setting("THUMBNAIL_DIR", "thumbnails")
    img_file = urlopen(url)
    im = StringIO(img_file.read())
    image = Image.open(im)
    if image.mode not in ("L", "RGB"):
        image = image.convert("RGB")
    image = fit(image, 300)
    image = aspect_ratio(image, 16, 9)
    timedir = get_date_directory()
    filename = urlparse(url).path.split("/")[-1]
    ext = os.path.splitext(filename)[1]
    new_filename = md5(filename.encode("utf8")).hexdigest() + ext
    path = os.path.join(settings.MEDIA_ROOT, upload_dir, timedir, new_filename)
    # noinspection PyBroadException
    try:
        os.makedirs(os.path.realpath(os.path.dirname(path)))
    except:
        pass
    image.save(path, "jpeg")
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #8
0
def upload_images_path(instance, filename):
    # image will be uploaded to MEDIA_ROOT/<get_date_directory()>/<filename>
    return '{0}/{1}/{2}'.format('img', get_date_directory(), filename)
예제 #9
0
 def __init__(self, **kwargs):
     self._timedir = get_date_directory()
     self.__dict__.update(kwargs)
예제 #10
0
def upload_media_dir(instance, filename):
    upload_dir = settings.MEDIAFILES
    new_filename = md5(filename.encode('utf8')).hexdigest() + os.path.splitext(filename)[1]
    timedir = get_date_directory()
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #11
0
def upload_avatar_dir(instance, filename):
    upload_dir = settings.AVATARS_DIR
    new_filename = md5(filename.encode('utf8')).hexdigest() + os.path.splitext(filename)[1]
    timedir = get_date_directory()
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #12
0
파일: backends.py 프로젝트: ukaoma/nnmware
 def __init__(self, **kwargs):
     self._timedir = get_date_directory()
     self.__dict__.update(kwargs)
예제 #13
0
파일: backends.py 프로젝트: ukaoma/nnmware
def upload_media_dir(instance, filename):
    upload_dir = settings.MEDIAFILES
    new_filename = md5(
        filename.encode('utf8')).hexdigest() + os.path.splitext(filename)[1]
    timedir = get_date_directory()
    return upload_dir + "/" + timedir + "/" + new_filename
예제 #14
0
파일: backends.py 프로젝트: ukaoma/nnmware
def upload_avatar_dir(instance, filename):
    upload_dir = settings.AVATARS_DIR
    new_filename = md5(
        filename.encode('utf8')).hexdigest() + os.path.splitext(filename)[1]
    timedir = get_date_directory()
    return upload_dir + "/" + timedir + "/" + new_filename