def __init__(self, verbose_name=None, name=None, path='', match=None, recursive=False, allow_files=True, allow_folders=False, **kwargs): self.upload_to = kwargs.pop('upload_to', UPLOAD_TO) self.path = os.path.join(MEDIA_ROOT, self.upload_to.lstrip('/')) self.resize_width, self.resize_height, self.resize_quality = ('', '', '') # resizing parameters self.resize_to = None if 'resize_to' in kwargs.keys(): self.resize_to = kwargs.pop('resize_to', '') self.resize_width, self.resize_height = split_resize_to(self.resize_to) if 'resize_quality' in kwargs.keys(): self.resize_quality = kwargs.pop('resize_quality') pattern = re.compile('^0|100|[0-9]{1,2}$') assert ( type(self.resize_quality) is IntType and self.resize_quality >= 0 and self.resize_quality <= 100 or type(self.resize_quality) is StringType and (pattern.match(self.resize_quality) or False) ), _("resize_quality must be int or string representing a number between 0 and 100") self.resize_quality = int(self.resize_quality) self.extensions = kwargs.pop('extensions', EXTENSIONS) # allowed extensions for this field self.max_file_size = kwargs.pop('max_file_size', MAX_FILE_SIZE) # max allowed file size in Mb self.unique_names = kwargs.pop('unique_names', UNIQUE_NAMES) # change uploaded file name to make it unique self.upload_chmod = kwargs.pop('upload_chmod', UPLOAD_CHMOD) # attempt chmod once file is uploaded self.show_remove = kwargs.pop('show_remove', SHOW_REMOVE) # show the remove checkbox self.show_thumbnail = kwargs.pop('show_thumbnail', SHOW_THUMBNAIL) # shows as thumbnail of the uploaded image super(PluploadField, self).__init__( verbose_name=verbose_name, name=name, path=path, match=match, recursive=recursive, allow_files=allow_files, allow_folders=allow_folders, **kwargs )
""" MEDIA_ROOT = getattr(settings, 'MEDIA_ROOT', '') MEDIA_URL = getattr(settings, 'MEDIA_URL', '') STATIC_ROOT = getattr(settings, 'STATIC_ROOT', '') STATIC_URL = getattr(settings, 'STATIC_URL', '') MAX_FILE_SIZE = getattr(settings, 'PLUPLOAD_MAX_FILE_SIZE', None) # Mb CHUNK_SIZE = getattr(settings, 'PLUPLOAD_CHUNK_SIZE', 1) # Mb UNIQUE_NAMES = getattr(settings, 'PLUPLOAD_UNIQUE_NAMES', True) UPLOAD_TO = getattr(settings, 'PLUPLOAD_UPLOAD_TO', '').lstrip('/') # relative to MEDIA_ROOT UPLOAD_CHMOD = getattr(settings, 'PLUPLOAD_UPLOAD_CHMOD', None) RESIZE_TO = getattr(settings, 'PLUPLOAD_RESIZE_TO', '') RESIZE_WIDTH, RESIZE_HEIGHT = split_resize_to(RESIZE_TO) RESIZE_QUALITY = getattr(settings, 'PLUPLOAD_RESIZE_QUALITY', 90) # % EXTENSIONS = getattr(settings, 'PLUPLOAD_EXTENSIONS', None) AUTO_START = getattr(settings, 'PLUPLOAD_AUTO_START', True) SHOW_REMOVE = getattr(settings, 'PLUPLOAD_SHOW_REMOVE', True) SHOW_THUMBNAIL = getattr(settings, 'PLUPLOAD_SHOW_THUMBNAIL', False) THUMBNAIL_WIDTH = getattr(settings, 'PLUPLOAD_THUMBNAIL_WIDTH', 80) # px THUMBNAIL_HEIGHT = getattr(settings, 'PLUPLOAD_THUMBNAIL_HEIGHT', 80) # px # JQUERY URLS JQUERY_URL = getattr(settings, 'PLUPLOAD_JQUERY_URL', "https://ajax.googleapis.com/ajax/libs/jquery/1.10.3/jquery.min.js") JQUERY_UI_URL = getattr(settings,