Example #1
0
    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
Example #3
0
 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
Example #4
0
    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
Example #5
0
    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