Beispiel #1
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