def get_file_contents(self, path, ref=github.GithubObject.NotSet):
assert isinstance(path, (str, unicode)), path<EOL>assert ref is github.GithubObject.NotSet or isinstance(ref, (str, unicode)), ref<EOL>url_parameters = dict()<EOL>if ref is not github.GithubObject.NotSet:<EOL><INDENT>url_parameters["<STR_LIT>"] = ref<EOL><DEDENT>headers, data = self._requester.requestJsonAndCheck(<EOL>"<STR_LIT:GET>",<EOL>self.url + "<STR_LIT>" + urllib.quote(path),<EOL>parameters=url_parameters<EOL>)<EOL>if isinstance(data, list):<EOL><INDENT>return [<EOL>github.ContentFile.ContentFile(self._requester, headers, item, completed=False)<EOL>for item in data<EOL>]<EOL><DEDENT>return github.ContentFile.ContentFile(self._requester, headers, data, completed=True)<EOL>
:calls: `GET /repos/:owner/:repo/contents/:path <http://developer.github.com/v3/repos/contents>`_
:param path: string
:param ref: string
:rtype: :class:`github.ContentFile.ContentFile`