<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _clean_input_data(self, data, request):
 """ Clean input data. """


        # sanity check
        if not self._is_data_method(request):
            # this is not PUT or POST -> return
            return data

        # do cleaning
        try:
            if self.representation:
                # representation defined -> perform validation
                self._validate_input_data(data, request)
            if self.factory:
                # factory defined -> create object
                return self._create_object(data, request)
            else:
                # no factory nor representation -> return the same data back
                return data
        except ValidationError, exc:
            return self._input_validation_failed(exc, data, request)