Fix pickling of ImageSpecFieldFile

Code now passes the test added in 118f6e4. Hopefully this will
address #97.
This commit is contained in:
Matthew Tretter 2012-07-18 22:24:39 -04:00
parent 118f6e4206
commit becee54c03

View file

@ -11,7 +11,6 @@ class ImageSpecFieldFile(ImageFieldFile):
def __init__(self, instance, field, attname):
super(ImageSpecFieldFile, self).__init__(instance, field, None)
self.attname = attname
self.storage = self.field.storage or self.source_file.storage
@property
def source_file(self):
@ -145,6 +144,25 @@ class ImageSpecFieldFile(ImageFieldFile):
# it at least that one time.
pass
@property
def storage(self):
return getattr(self, '_storage', None) or self.field.storage or self.source_file.storage
@storage.setter
def storage(self, storage):
self._storage = storage
def __getstate__(self):
return dict(
attname=self.attname,
instance=self.instance,
)
def __setstate__(self, state):
self.attname = state['attname']
self.instance = state['instance']
self.field = getattr(self.instance.__class__, self.attname)
class ProcessedImageFieldFile(ImageFieldFile):
def save(self, name, content, save=True):