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
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