Skip to content

Commit

Permalink
Add github sensor latest tag attribute (home-assistant#32360)
Browse files Browse the repository at this point in the history
* Add attribute 

latest release tag

* add attrs = 

and only create attr Tag if exists
made requested changes

* change condition for _latest_release_tag

to use self._github_data.latest_release_url

* Correct changes

* Update sensor.py

* blackify
  • Loading branch information
balloob authored Mar 5, 2020
1 parent 9a4aad1 commit 56cf4e5
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion homeassistant/components/github/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

ATTR_LATEST_COMMIT_MESSAGE = "latest_commit_message"
ATTR_LATEST_COMMIT_SHA = "latest_commit_sha"
ATTR_LATEST_RELEASE_TAG = "latest_release_tag"
ATTR_LATEST_RELEASE_URL = "latest_release_url"
ATTR_LATEST_OPEN_ISSUE_URL = "latest_open_issue_url"
ATTR_OPEN_ISSUES = "open_issues"
Expand Down Expand Up @@ -78,6 +79,7 @@ def __init__(self, github_data):
self._repository_path = None
self._latest_commit_message = None
self._latest_commit_sha = None
self._latest_release_tag = None
self._latest_release_url = None
self._open_issue_count = None
self._latest_open_issue_url = None
Expand Down Expand Up @@ -109,7 +111,7 @@ def available(self):
@property
def device_state_attributes(self):
"""Return the state attributes."""
return {
attrs = {
ATTR_PATH: self._repository_path,
ATTR_NAME: self._name,
ATTR_LATEST_COMMIT_MESSAGE: self._latest_commit_message,
Expand All @@ -121,6 +123,9 @@ def device_state_attributes(self):
ATTR_OPEN_PULL_REQUESTS: self._pull_request_count,
ATTR_STARGAZERS: self._stargazers,
}
if self._latest_release_tag is not None:
attrs[ATTR_LATEST_RELEASE_TAG] = self._latest_release_tag
return attrs

@property
def icon(self):
Expand All @@ -136,6 +141,12 @@ def update(self):
self._available = self._github_data.available
self._latest_commit_message = self._github_data.latest_commit_message
self._latest_commit_sha = self._github_data.latest_commit_sha
if self._github_data.latest_release_url is not None:
self._latest_release_tag = self._github_data.latest_release_url.split(
"tag/"
)[1]
else:
self._latest_release_tag = None
self._latest_release_url = self._github_data.latest_release_url
self._state = self._github_data.latest_commit_sha[0:7]
self._open_issue_count = self._github_data.open_issue_count
Expand Down

0 comments on commit 56cf4e5

Please sign in to comment.