@@ -100,17 +100,17 @@ def currentSourceUrl(self):
100100
101101 def checkSourceSpeed (self ):
102102 """
103- 检查所有源的速度,并发射quickSource(name:str,time:float)信号
103+ 检查所有源的速度,并发射quickSource(name:str,time:float)信号来获取最快的源,所有的源的速度可以通过speedData属性获取
104104 """
105105 self .threads .clear ()
106106 self .speedData = {}
107107 for source in self .sources :
108108 thread = PingThread (source , self .sources [source ])
109- thread .pingSignal .connect (self .pingSignal )
109+ thread .pingSignal .connect (self .__pingSignal )
110110 self .threads .append (thread )
111111 thread .start ()
112112
113- def pingSignal (self ,url : str , responseTime : float ):
113+ def __pingSignal (self ,url : str , responseTime : float ):
114114 self .speedData [url ] = responseTime
115115 if len (self .speedData ) == len (self .sources ):
116116 quickTime = float ('inf' )
@@ -246,14 +246,7 @@ def isNeedUpdate(self,isAsync:bool = True) -> bool | str | None:
246246
247247 def __isNeedUpdate (self ,data )-> bool :
248248 release = Release (json .loads (data ))
249- current = re .findall (self .__versionReStr ,release .tag_name )
250- if len (current ) == 0 :
251- return False
252- new = re .findall (self .__versionReStr ,self .__version )
253- if len (new ) == 0 :
254- return False
255- if new [0 ] > current [0 ]:
256- return True
249+ return self .compareVersion (release .tag_name ) == '>'
257250
258251 def __isNeedUpdateAsync (self ,reply :QNetworkReply ):
259252 if reply .error () == QNetworkReply .NetworkError .OperationCanceledError :
@@ -362,19 +355,19 @@ def downloadRelease(self,release:Release) -> str:
362355 reply = nam .get (request )
363356 reply .setObjectName (str (uuid .uuid1 ()))
364357 self .__replyDict [reply .objectName ()] = reply
365- reply .downloadProgress .connect (self .downloadProgress )
366- reply .finished .connect ( lambda : self .saveFile (release ))
358+ reply .downloadProgress .connect (self .__downloadProgress )
359+ reply .finished .connect ( lambda : self .__saveFile (release ))
367360 return reply .objectName ()
368361
369- def downloadProgress (self ,bytesReceived :int ,bytesTotal :int ):
362+ def __downloadProgress (self ,bytesReceived :int ,bytesTotal :int ):
370363 """
371364 用于触发downloadReleaseAsyncProgressSignal信号
372365
373366 :param bytesReceived: 已经下载的字节数
374367 :param bytesTotal: 需要下载的总字节数
375368 """
376369 self .downloadReleaseAsyncProgressSignal .emit (bytesReceived ,bytesTotal )
377- def saveFile (self ,release :Release ):
370+ def __saveFile (self ,release :Release ):
378371 """
379372 从reply中读取数据并根据release.assets_name保存到临时文件夹
380373
@@ -398,11 +391,19 @@ def saveFile(self,release:Release):
398391 self .downloadReleaseAsyncFinishSignal .emit (path )
399392 self .__replyDict .pop (reply .objectName ())
400393 reply .deleteLater ()
401- def compareVersion (self ,v2 ) -> str :
394+ def compareVersion (self ,v2 :str ) -> str :
395+ """和当前版本比较
396+
397+ Args:
398+ v2 (str): 需要比较的版本
399+
400+ Returns:
401+ str: "<","=" or ">"
402+ """
402403 v = re .findall (self .__versionReStr ,self .__version )
403404 if len (v ) == 0 :
404405 return '<'
405- v1 = new = re .findall (self .__versionReStr ,v2 )
406+ v1 = re .findall (self .__versionReStr ,v2 )
406407 if len (v1 ) == 0 :
407408 return '<'
408409 v1 = v1 [0 ]
@@ -434,6 +435,7 @@ def closeRequest(self,id:str):
434435 if id in self .__replyDict :
435436 self .__replyDict [id ].abort ()
436437 self .__replyDict .pop (id )
438+
437439if __name__ == '__main__' :
438440 app = QCoreApplication ([])
439441 data = {
0 commit comments