def get_repo(self, full_name_or_id, lazy=False):
assert isinstance(full_name_or_id, (str, unicode, int, long)), full_name_or_id<EOL>url_base = "<STR_LIT>" if isinstance(full_name_or_id, int) or isinstance(full_name_or_id, long) else "<STR_LIT>"<EOL>url = "<STR_LIT>" % (url_base, full_name_or_id)<EOL>if lazy:<EOL><INDENT>return Repository.Repository(self.__requester, {}, {"<STR_LIT:url>": url}, completed=False)<EOL><DEDENT>headers, data = self.__requester.requestJsonAndCheck(<EOL>"<STR_LIT:GET>",<EOL>"<STR_LIT>" % (url_base, full_name_or_id)<EOL>)<EOL>return Repository.Repository(self.__requester, headers, data, completed=True)<EOL>
:calls: `GET /repos/:owner/:repo <http://developer.github.com/v3/repos>`_ or `GET /repositories/:id <http://developer.github.com/v3/repos>`_
:rtype: :class:`github.Repository.Repository`