@@ -133,13 +133,17 @@ def device_state_attributes(self):
133133 ATTR_OPEN_PULL_REQUESTS : self ._pull_request_count ,
134134 ATTR_STARGAZERS : self ._stargazers ,
135135 ATTR_FORKS : self ._forks ,
136- ATTR_CLONES : self ._clones ,
137- ATTR_CLONES_UNIQUE : self ._clones_unique ,
138- ATTR_VIEWS : self ._views ,
139- ATTR_VIEWS_UNIQUE : self ._views_unique ,
140136 }
141137 if self ._latest_release_tag is not None :
142138 attrs [ATTR_LATEST_RELEASE_TAG ] = self ._latest_release_tag
139+ if self ._clones is not None :
140+ attrs [ATTR_CLONES ] = self ._clones
141+ if self ._clones_unique is not None :
142+ attrs [ATTR_CLONES_UNIQUE ] = self ._clones_unique
143+ if self ._views is not None :
144+ attrs [ATTR_VIEWS ] = self ._views
145+ if self ._views_unique is not None :
146+ attrs [ATTR_VIEWS_UNIQUE ] = self ._views_unique
143147 return attrs
144148
145149 @property
@@ -244,15 +248,16 @@ def update(self):
244248 if releases and releases .totalCount > 0 :
245249 self .latest_release_url = releases [0 ].html_url
246250
247- clones = repo .get_clones_traffic ()
248- if clones is not None :
249- self .clones = clones .get ("count" )
250- self .clones_unique = clones .get ("uniques" )
251+ if repo .permissions .push :
252+ clones = repo .get_clones_traffic ()
253+ if clones is not None :
254+ self .clones = clones .get ("count" )
255+ self .clones_unique = clones .get ("uniques" )
251256
252- views = repo .get_views_traffic ()
253- if views is not None :
254- self .views = views .get ("count" )
255- self .views_unique = views .get ("uniques" )
257+ views = repo .get_views_traffic ()
258+ if views is not None :
259+ self .views = views .get ("count" )
260+ self .views_unique = views .get ("uniques" )
256261
257262 self .available = True
258263 except self ._github .GithubException as err :
0 commit comments