Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修改部分因为动画导致的视觉bug,修改版本校验为tag_name和name二选一。 #56

Merged
merged 1 commit into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/CheckUpdateGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ def initUi(self):
font = QFont("Microsoft YaHei UI", 13)
font.setBold(True)
self.bodyEdit.setFont(font)
self.bodyEdit.setFixedHeight(150)
self.bodyEdit.setVerticalScrollBarPolicy(
Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
dataLayout.addWidget(self.bodyEdit)
Expand Down Expand Up @@ -164,11 +165,15 @@ def showButtonClicked(self, checked: bool):
animation2.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped)
animation.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped)
animation.finished.connect(lambda: self.formWidget.setVisible(checked))
animation.finished.connect(lambda: self.resWidth())

def downLoadButtonClicked(self):
self.downLoadFile.emit(self.release)


def resWidth(self):
area:QScrollArea = self.parentWidget().parentWidget().parentWidget()
width = area.verticalScrollBar().width() if area.verticalScrollBar().isVisible() else 0
self.resize(area.width() - width, self.height())
class CheckUpdateGui(QDialog):
def __init__(self, github: GitHub, parent=None):
super().__init__(parent.mainWindow)
Expand Down Expand Up @@ -245,7 +250,7 @@ def changeSource(self, source: str):
self.github.sourceManager.currentSource = source
self.checkUpdateButton.click()
@pyqtSlot(list)
def checkUpdate(self, releases: list):
def checkUpdate(self, releases: list[Release]):
widget = self.releaseArea.widget()
if widget is not None:
widget.deleteLater()
Expand Down
23 changes: 12 additions & 11 deletions src/githubApi.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,11 @@ def __pingSignal(self,url: str, responseTime: float):
self.quickSource.emit(quickKey,quickTime)

class Release:
def __init__(self,dict):
self.tag_name = dict['tag_name']
self.body = dict['body']
self.html_url = dict['html_url']
m_assert = dict['assets'][0]
def __init__(self,data:dict,versionReStr:str) -> None:
self.tag_name = data['tag_name'] if re.search(versionReStr,data['tag_name']) else data['name']
self.body = data['body']
self.html_url = data['html_url']
m_assert = data['assets'][0]
self.assets_name = m_assert['name']
self.assets_content_type = m_assert['content_type']
self.assets_size = m_assert['size']
Expand Down Expand Up @@ -245,7 +245,7 @@ def isNeedUpdate(self,isAsync:bool = True) -> bool | str | None:
return reply.objectName()

def __isNeedUpdate(self,data)->bool:
release = Release(json.loads(data))
release = Release(json.loads(data),self.versionReStr)
return self.compareVersion(release.tag_name) == '>'

def __isNeedUpdateAsync(self,reply:QNetworkReply):
Expand Down Expand Up @@ -282,7 +282,7 @@ def latestRelease(self,isAsync:bool = True) -> Release | str | None:
data = reply.readAll().data().decode('utf-8')
self.__replyDict.pop(reply.objectName())
reply.deleteLater()
return Release(json.loads(data))
return Release(json.loads(data),self.versionReStr)
else:
nam.finished.connect(self.__lastReleaseAsync)
return reply.objectName()
Expand All @@ -293,7 +293,7 @@ def __lastReleaseAsync(self,reply:QNetworkReply):
elif reply.error() != QNetworkReply.NoError:
self.error(reply.errorString())
else:
self.latestReleaseAsyncSignal.emit(Release(json.loads(reply.readAll().data().decode('utf-8'))))
self.latestReleaseAsyncSignal.emit(Release(json.loads(reply.readAll().data().decode('utf-8')),self.versionReStr))
self.__replyDict.pop(reply.objectName())
reply.deleteLater()

Expand Down Expand Up @@ -327,7 +327,7 @@ def releases(self,isAsync:bool = True) -> list | str | None:


def __releases(self,data) -> list | None:
return [Release(x) for x in json.loads(data)]
return [Release(x,self.versionReStr) for x in json.loads(data)]

def __releasesAsync(self,reply:QNetworkReply):
if reply.error() == QNetworkReply.NetworkError.OperationCanceledError:
Expand Down Expand Up @@ -389,8 +389,9 @@ def __saveFile(self,release:Release):
with open(path,'wb') as f:
f.write(reply.readAll())
self.downloadReleaseAsyncFinishSignal.emit(path)
self.__replyDict.pop(reply.objectName())
reply.deleteLater()
if reply.objectName() in self.__replyDict:
self.__replyDict.pop(reply.objectName())
reply.deleteLater()
def compareVersion(self,v2:str) -> str:
"""和当前版本比较

Expand Down
2 changes: 1 addition & 1 deletion src/superGUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@


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


class Ui_MainWindow(Ui_MainWindow):
Expand Down
Loading