def run(self, user, repo, filter=None, state=None, sort=None, direction=None, since=None, limit=20): user = self._client.get_user(user) repo = user.get_repo(repo) kwargs = {} if filter: kwargs['filter'] = filter if state: kwargs['state'] = state if sort: kwargs['sort'] = sort if direction: kwargs['direction'] = direction if since: kwargs['since'] = datetime.datetime.fromtimestamp(since) # Note: PyGithub library introduces an abstraction for paginated lists # which doesn't conform to Python's iterator spec so we can't use # array slicing to exhaust the list :/ issues = repo.get_issues(**kwargs) issues = list(issues) result = [] for index, issue in enumerate(issues): issue = issue_to_dict(issue=issue) result.append(issue) if (index + 1) >= limit: break return result
def run(self, user, repo, title, description=None, assignee=None): user = self._client.get_user(user) repo = user.get_repo(repo) issue = repo.create_issue(title, description or GithubObject.NotSet, assignee or GithubObject.NotSet) result = issue_to_dict(issue=issue) return result
def run(self, user, repo, issue_id): issue_id = int(issue_id) user = self._client.get_user(user) repo = user.get_repo(repo) issue = repo.get_issue(issue_id) result = issue_to_dict(issue=issue) return result
def run(self, user, repo, base_url, filter=None, state=None, sort=None, direction=None, since=None, limit=20): if base_url == None: self._reset(user) else: self._reset(user + '|' + base_url) user = self._client.get_user(user) repo = user.get_repo(repo) kwargs = {} if filter: kwargs['filter'] = filter if state: kwargs['state'] = state if sort: kwargs['sort'] = sort if direction: kwargs['direction'] = direction if since: kwargs['since'] = datetime.datetime.fromtimestamp(since) # Note: PyGithub library introduces an abstraction for paginated lists # which doesn't conform to Python's iterator spec so we can't use # array slicing to exhaust the list :/ issues = repo.get_issues(**kwargs) issues = list(issues) result = [] for index, issue in enumerate(issues): issue = issue_to_dict(issue=issue) result.append(issue) if (index + 1) >= limit: break return result