mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-02 22:48:40 +00:00
Make new release checking much more robust
This commit is contained in:
parent
5c4b64d656
commit
2ff6b85771
1 changed files with 30 additions and 3 deletions
|
@ -317,9 +317,36 @@ class Core(
|
||||||
def check_new_release(self):
|
def check_new_release(self):
|
||||||
if self.new_release:
|
if self.new_release:
|
||||||
log.debug("new_release: %s", self.new_release)
|
log.debug("new_release: %s", self.new_release)
|
||||||
nr = self.new_release.split("_")
|
class VersionSplit(object):
|
||||||
cv = deluge.common.get_version().split("-")
|
def __init__(self, ver):
|
||||||
if nr[0] > cv[0]:
|
ver = ver.lower()
|
||||||
|
vs = ver.split("_") if "_" in ver else ver.split("-")
|
||||||
|
self.version = vs[0]
|
||||||
|
self.suffix = None
|
||||||
|
if len(vs) > 1:
|
||||||
|
for s in ("rc", "alpha", "beta", "dev"):
|
||||||
|
if s in vs[1][:len(s)]:
|
||||||
|
self.suffix = vs[1]
|
||||||
|
|
||||||
|
def __cmp__(self, ver):
|
||||||
|
if self.version > ver.version or (self.suffix and self.suffix[:3] == "dev"):
|
||||||
|
return 1
|
||||||
|
if self.version < ver.version:
|
||||||
|
return -1
|
||||||
|
|
||||||
|
if self.version == ver.version:
|
||||||
|
if self.suffix == ver.suffix:
|
||||||
|
return 0
|
||||||
|
if self.suffix is None:
|
||||||
|
return 1
|
||||||
|
if ver.suffix is None:
|
||||||
|
return -1
|
||||||
|
if self.suffix < ver.suffix:
|
||||||
|
return -1
|
||||||
|
if self.suffix > ver.suffix:
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if VersionSplit(self.new_release) > VersionSplit(deluge.common.get_version()):
|
||||||
self.signals.emit("new_version_available", self.new_release)
|
self.signals.emit("new_version_available", self.new_release)
|
||||||
return self.new_release
|
return self.new_release
|
||||||
return False
|
return False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue