def is_valid_type(self, filepath):
if self.in_repo(filepath):<EOL><INDENT>return False<EOL><DEDENT>validators = self._validators<EOL>if len(validators) == <NUM_LIT:0>:<EOL><INDENT>validators = [self.default_validator]<EOL><DEDENT>if any([hasattr(v, '<STR_LIT>') for v in self._validators]):<EOL><INDENT>for validator in validators:<EOL><INDENT>if validator(filepath):<EOL><INDENT>if hasattr(validator, '<STR_LIT>'):<EOL><INDENT>self._scent.set_runner(validator.runnable)<EOL>return True<EOL><DEDENT><DEDENT><DEDENT>return False<EOL><DEDENT>for validator in validators:<EOL><INDENT>if not validator(filepath):<EOL><INDENT>return False<EOL><DEDENT><DEDENT>return True<EOL>
Returns True if the given filepath is a valid watchable filetype.
The filepath can be assumed to be a file (not a directory).