def __radd__(self, another): num_x, unit_x = self._split_str(self) num_y = 0 unit_y = "" if isinstance(another, (int, float)): num_y = another elif isinstance(another, basestring): num_y, unit_y = self._split_str(another) elif isinstance(another, self.__class__): num_y, unit_y = self._split_str(another.__str__()) if num_y is None or num_x is None: return '-' unit_x = unit_x.strip() unit_y = unit_y.strip() if unit_x == unit_y: return "%s%s" % (num_x + num_y, unit_x) else: # convert both units to bytes converted_num_x = self.to_bytes(num_x, unit_x) converted_num_y = self.to_bytes(num_y, unit_y) total = converted_num_x + converted_num_y result = filesizeformat(total, float_format) return result
def __radd__(self, another): num_x, unit_x = self._split_str(self) num_y = 0 unit_y = "" if isinstance(another, (int, float)): num_y = another elif isinstance(another, basestring): num_y, unit_y = self._split_str(another) elif isinstance(another, self.__class__): num_y, unit_y = self._split_str(another.__str__()) if num_y is None or num_x is None: return '-' unit_x = unit_x.strip() unit_y = unit_y.strip() if unit_x == unit_y: return "%s%s" % (num_x + num_y, unit_x) else: converted_num_x = self.to_bytes(num_x, unit_x) converted_num_y = self.to_bytes(num_y, unit_y) total = converted_num_x + converted_num_y result = filesizeformat(total, float_format) return result
def transform(sample): field = getattr(sample, field_name, None) result = filesizeformat(field, float_format) return StringWithPlusOperation(result)