Exemplo n.º 1
0
 def process(self, instance, value, progress_setter=None):
     field = self.field
     if value in get_empty_values(field) or not self.has_processor():
         if self.set_default(instance, value) and self.has_processor():
             value = self.get_value(instance)
             field = self._dependee
     if (field is None or value not in get_empty_values(field)) and self.has_processor():
         if self.async:
             self._processor.progress_setter = progress_setter
             progress_setter(self._processor, 0)
         try:
             if isinstance(self._processor, BaseProcessor):
                 new_value = self._processor(
                     value, instance=instance, field=self.field, dependee=self._dependee,
                     stashed_value=self.get_stashed_value(instance, value),
                     **self._processor_params
                 )
             else:
                 new_value = self._processor(value)
         finally:
             if self.async:
                 delattr(self._processor, 'progress_setter')
         if self.async:
             progress_setter(self._processor, 1)
         if new_value is not VALUE_NOT_SET:
             self.set_value(instance, new_value)
Exemplo n.º 2
0
 def process(self, instance, value, progress_setter=None):
     field = self.field
     if value in get_empty_values(field) or not self.has_processor():
         if self.set_default(instance, value) and self.has_processor():
             value = self.get_value(instance)
             field = self._dependee
     if self.has_processor():
         if self.async_:
             self._processor.progress_setter = progress_setter
             progress_setter(self._processor, 0)
         try:
             if isinstance(self._processor, BaseProcessor):
                 new_value = self._processor(
                     value,
                     instance=instance,
                     field=self.field,
                     dependee=self._dependee,
                     stashed_value=self.get_stashed_value(instance, value),
                     **self._processor_params)
             else:
                 new_value = self._processor(value)
         finally:
             if self.async_:
                 delattr(self._processor, 'progress_setter')
         if self.async_:
             progress_setter(self._processor, 1)
         if new_value is not VALUE_NOT_SET:
             self.set_value(instance, new_value)
Exemplo n.º 3
0
 def set_default(self, instance, value):
     dependee = self._dependee
     if dependee is None or \
        dependee.value_from_object(instance) in get_empty_values(dependee):
         default_value = self.get_default(instance, value)
         if default_value is not VALUE_NOT_SET:
             self.set_value(instance, default_value, is_default=True)
             return True
     return False
Exemplo n.º 4
0
 def post_init(self, instance, value, *args, **kwargs):
     if self._dependee is None and self._processor and \
         value not in get_empty_values(self.field) and isinstance(value, files.FieldFile):
         # regenerate the dependent filename and reattach it.
         self.set_value(instance, self.generate_filename(instance, value.name))
     else:
         if self._dependee is None:
             self.set_value(instance, None)
         super(FileDependency, self).post_init(instance, value, *args, **kwargs)
Exemplo n.º 5
0
 def set_default(self, instance, value):
     dependee = self._dependee
     if dependee is None or \
        dependee.value_from_object(instance) in get_empty_values(dependee):
         default_value = self.get_default(instance, value)
         if default_value is not VALUE_NOT_SET:
             self.set_value(instance, default_value, is_default=True)
             return True
     return False
 def post_init(self, instance, value, *args, **kwargs):
     if self._dependee is None and self._processor and \
         value not in get_empty_values(self.field) and isinstance(value, files.FieldFile):
         # regenerate the dependent filename and reattach it.
         self.set_value(instance, self.generate_filename(instance, value.name))
     else:
         if self._dependee is None:
             self.set_value(instance, None)
         super(FileDependency, self).post_init(instance, value, *args, **kwargs)