def _findfile(self, path):
<EOL>if not self._isurl(path):<EOL><INDENT>filelist = self._possible_names(path)<EOL>filelist += self._possible_names(self.abspath(path))<EOL><DEDENT>else:<EOL><INDENT>filelist = self._possible_names(self.abspath(path))<EOL>filelist = filelist + self._possible_names(path)<EOL><DEDENT>for name in filelist:<EOL><INDENT>if self.exists(name):<EOL><INDENT>if self._isurl(name):<EOL><INDENT>name = self._cache(name)<EOL><DEDENT>return name<EOL><DEDENT><DEDENT>return None<EOL>
Searches for ``path`` and returns full path if found.

        If path is an URL, _findfile will cache a local copy and return the
        path to the cached file.  If path is a local file, _findfile will
        return a path to that local file.

        The search will include possible compressed versions of the file
        and return the first occurence found.