| Total Complexity | 2 |
| Total Lines | 31 |
| Duplicated Lines | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | |||
| 8 | class LatestReleaseAction(BaseGithubAction): |
||
| 9 | def run(self, api_user, repository): |
||
| 10 | |||
| 11 | if api_user: |
||
| 12 | self.token = self._get_user_token(api_user) |
||
| 13 | |||
| 14 | release = self._request("GET", |
||
| 15 | "/repos/{}/releases/latest".format(repository), |
||
| 16 | None, |
||
| 17 | self.token) |
||
| 18 | |||
| 19 | ts_published_at = time.mktime( |
||
| 20 | datetime.datetime.strptime( |
||
| 21 | release['published_at'], |
||
| 22 | "%Y-%m-%dT%H:%M:%SZ").timetuple()) |
||
| 23 | |||
| 24 | results = {'author': release['author']['login'], |
||
| 25 | 'avatar_url': release['author']['avatar_url'], |
||
| 26 | 'html_url': release['html_url'], |
||
| 27 | 'tag_name': release['tag_name'], |
||
| 28 | 'target_commitish': release['target_commitish'], |
||
| 29 | 'name': release['name'], |
||
| 30 | 'body': release['body'], |
||
| 31 | 'draft': release['draft'], |
||
| 32 | 'prerelease': release['prerelease'], |
||
| 33 | 'created_at': release['created_at'], |
||
| 34 | 'published_at': release['published_at'], |
||
| 35 | 'ts_published_at': ts_published_at, |
||
| 36 | 'total_assets': len(release['assets'])} |
||
| 37 | |||
| 38 | return results |
||
| 39 |