@@ -122,11 +122,11 @@ def __pingSignal(self,url: str, responseTime: float):
122122 self .quickSource .emit (quickKey ,quickTime )
123123
124124class Release :
125- def __init__ (self ,dict ) :
126- self .tag_name = dict ['tag_name' ]
127- self .body = dict ['body' ]
128- self .html_url = dict ['html_url' ]
129- m_assert = dict ['assets' ][0 ]
125+ def __init__ (self ,data : dict , versionReStr : str ) -> None :
126+ self .tag_name = data ['tag_name' ] if re . search ( versionReStr , data [ 'tag_name' ]) else data [ 'name ' ]
127+ self .body = data ['body' ]
128+ self .html_url = data ['html_url' ]
129+ m_assert = data ['assets' ][0 ]
130130 self .assets_name = m_assert ['name' ]
131131 self .assets_content_type = m_assert ['content_type' ]
132132 self .assets_size = m_assert ['size' ]
@@ -245,7 +245,7 @@ def isNeedUpdate(self,isAsync:bool = True) -> bool | str | None:
245245 return reply .objectName ()
246246
247247 def __isNeedUpdate (self ,data )-> bool :
248- release = Release (json .loads (data ))
248+ release = Release (json .loads (data ), self . versionReStr )
249249 return self .compareVersion (release .tag_name ) == '>'
250250
251251 def __isNeedUpdateAsync (self ,reply :QNetworkReply ):
@@ -282,7 +282,7 @@ def latestRelease(self,isAsync:bool = True) -> Release | str | None:
282282 data = reply .readAll ().data ().decode ('utf-8' )
283283 self .__replyDict .pop (reply .objectName ())
284284 reply .deleteLater ()
285- return Release (json .loads (data ))
285+ return Release (json .loads (data ), self . versionReStr )
286286 else :
287287 nam .finished .connect (self .__lastReleaseAsync )
288288 return reply .objectName ()
@@ -293,7 +293,7 @@ def __lastReleaseAsync(self,reply:QNetworkReply):
293293 elif reply .error () != QNetworkReply .NoError :
294294 self .error (reply .errorString ())
295295 else :
296- self .latestReleaseAsyncSignal .emit (Release (json .loads (reply .readAll ().data ().decode ('utf-8' ))))
296+ self .latestReleaseAsyncSignal .emit (Release (json .loads (reply .readAll ().data ().decode ('utf-8' )), self . versionReStr ))
297297 self .__replyDict .pop (reply .objectName ())
298298 reply .deleteLater ()
299299
@@ -327,7 +327,7 @@ def releases(self,isAsync:bool = True) -> list | str | None:
327327
328328
329329 def __releases (self ,data ) -> list | None :
330- return [Release (x ) for x in json .loads (data )]
330+ return [Release (x , self . versionReStr ) for x in json .loads (data )]
331331
332332 def __releasesAsync (self ,reply :QNetworkReply ):
333333 if reply .error () == QNetworkReply .NetworkError .OperationCanceledError :
@@ -389,8 +389,9 @@ def __saveFile(self,release:Release):
389389 with open (path ,'wb' ) as f :
390390 f .write (reply .readAll ())
391391 self .downloadReleaseAsyncFinishSignal .emit (path )
392- self .__replyDict .pop (reply .objectName ())
393- reply .deleteLater ()
392+ if reply .objectName () in self .__replyDict :
393+ self .__replyDict .pop (reply .objectName ())
394+ reply .deleteLater ()
394395 def compareVersion (self ,v2 :str ) -> str :
395396 """和当前版本比较
396397
0 commit comments