Skip to content

Commit a6fca77

Browse files
authored
Merge pull request #56 from ljzloser/master
修改部分因为动画导致的视觉bug,修改版本校验为tag_name和name二选一。
2 parents 079f0d4 + 4256bc1 commit a6fca77

3 files changed

Lines changed: 20 additions & 14 deletions

File tree

src/CheckUpdateGui.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ def initUi(self):
111111
font = QFont("Microsoft YaHei UI", 13)
112112
font.setBold(True)
113113
self.bodyEdit.setFont(font)
114+
self.bodyEdit.setFixedHeight(150)
114115
self.bodyEdit.setVerticalScrollBarPolicy(
115116
Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
116117
dataLayout.addWidget(self.bodyEdit)
@@ -164,11 +165,15 @@ def showButtonClicked(self, checked: bool):
164165
animation2.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped)
165166
animation.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped)
166167
animation.finished.connect(lambda: self.formWidget.setVisible(checked))
168+
animation.finished.connect(lambda: self.resWidth())
167169

168170
def downLoadButtonClicked(self):
169171
self.downLoadFile.emit(self.release)
170172

171-
173+
def resWidth(self):
174+
area:QScrollArea = self.parentWidget().parentWidget().parentWidget()
175+
width = area.verticalScrollBar().width() if area.verticalScrollBar().isVisible() else 0
176+
self.resize(area.width() - width, self.height())
172177
class CheckUpdateGui(QDialog):
173178
def __init__(self, github: GitHub, parent=None):
174179
super().__init__(parent.mainWindow)
@@ -245,7 +250,7 @@ def changeSource(self, source: str):
245250
self.github.sourceManager.currentSource = source
246251
self.checkUpdateButton.click()
247252
@pyqtSlot(list)
248-
def checkUpdate(self, releases: list):
253+
def checkUpdate(self, releases: list[Release]):
249254
widget = self.releaseArea.widget()
250255
if widget is not None:
251256
widget.deleteLater()

src/githubApi.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,11 @@ def __pingSignal(self,url: str, responseTime: float):
122122
self.quickSource.emit(quickKey,quickTime)
123123

124124
class 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

src/superGUI.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717

1818
# version = "元3.1.11".encode( "UTF-8" )
19-
version = "测试3.1.13".encode( "UTF-8" )
19+
version = "测试3.1.11".encode( "UTF-8" )
2020

2121

2222
class Ui_MainWindow(Ui_MainWindow):

0 commit comments

Comments
 (0)