Ejemplo n.º 1
0
    def get_digest(self):
        """
        builds a DigestData instance filled with the digest
        """
        issue_list = list(self.get_issues())

        digest = DigestData()
        digest.user = self._user
        digest.repo = self._repository_name

        for github_issue in issue_list:
            if github_issue.state == IssueStates.OPEN:
                digest.total_opened += 1
            elif github_issue.state == IssueStates.CLOSED:
                digest.total_closed += 1

            digest.total_issues += 1

            issue = Issue()
            issue.url = github_issue.html_url
            issue.label = '{}/{}#{}'.format(self._user, self._repository_name, github_issue.number)
            issue.title = github_issue.title
            issue.state = github_issue.state
            github_user = github_issue.user

            display_name = github_user.name or github_user.login
            if display_name not in digest.users:
                user = User()
                user.name = display_name
                user.gravatar = github_user.avatar_url
                digest.users[display_name] = user

            digest.issues.setdefault(display_name, []).append(issue)

        return digest
Ejemplo n.º 2
0
    def create_digest(self, item_type, github_items):
        """
        builds a DigestData instance filled with the digest
        """
        issue_list = list(self.get_issues())

        digest = DigestData(item_type)
        digest.user = self._user
        digest.repo = self._repository_name

        for github_item in github_items:
            if github_item.state == ItemStates.OPEN:
                digest.total_opened += 1
            elif github_item.state == ItemStates.CLOSED:
                digest.total_closed += 1

            digest.total_items += 1

            item = Item()
            item.url = github_item.html_url
            item.label = '{}/{}#{}'.format(self._user, self._repository_name, github_item.number)
            item.title = github_item.title
            item.state = github_item.state
            github_user = github_item.user

            display_name = github_user.name or github_user.login
            if display_name not in digest.users:
                user = User()
                user.name = display_name
                user.gravatar = github_user.avatar_url
                digest.users[display_name] = user

            digest.items.setdefault(display_name, []).append(item)

        return digest