def get_value(self, spec, row):
        """ Returns the value or a dict with a 'value' entry plus extra fields. """
        column = spec.get('column')
        default = spec.get('default')
        if column is None:
            if default is not None:
                return self.convert_type(default, spec)
            return
        value = row.get(column)
        if is_empty(value):
            if default is not None:
                return self.convert_type(default, spec)
            return None
        return self.convert_type(value, spec)
Returns the value or a dict with a 'value' entry plus extra fields.