GetDownloadsByRelease returns download counts grouped by release
()
| 89 | |
| 90 | // GetDownloadsByRelease returns download counts grouped by release |
| 91 | func (c *GitHubClient) GetDownloadsByRelease() ([]ReleaseDownloads, error) { |
| 92 | releases, err := c.GetReleases() |
| 93 | if err != nil { |
| 94 | return nil, err |
| 95 | } |
| 96 | |
| 97 | result := make([]ReleaseDownloads, 0, len(releases)) |
| 98 | for _, release := range releases { |
| 99 | var downloads int64 |
| 100 | for _, asset := range release.Assets { |
| 101 | downloads += asset.DownloadCount |
| 102 | } |
| 103 | |
| 104 | // Parse date |
| 105 | date := release.PublishedAt |
| 106 | if t, err := time.Parse(time.RFC3339, release.PublishedAt); err == nil { |
| 107 | date = t.Format("2006-01-02") |
| 108 | } |
| 109 | |
| 110 | result = append(result, ReleaseDownloads{ |
| 111 | Tag: release.TagName, |
| 112 | Date: date, |
| 113 | Downloads: downloads, |
| 114 | }) |
| 115 | } |
| 116 | |
| 117 | return result, nil |
| 118 | } |
| 119 | |
| 120 | // GetDownloadsByPlatform returns download counts grouped by platform |
| 121 | func (c *GitHubClient) GetDownloadsByPlatform() ([]PlatformDownloads, int64, error) { |
no test coverage detected