2021-04-07 20:44:16 +12:00
|
|
|
import webbrowser
|
|
|
|
|
2021-04-22 08:54:24 +12:00
|
|
|
from PyQt5.QtWidgets import QWidget
|
2021-03-27 04:09:42 +13:00
|
|
|
|
2021-04-08 08:39:23 +12:00
|
|
|
from rare import __version__
|
2021-04-30 20:05:35 +12:00
|
|
|
from rare.ui.components.tabs.settings.about import Ui_About
|
2021-04-08 08:39:23 +12:00
|
|
|
from rare.utils.utils import get_latest_version
|
2021-02-20 00:57:55 +13:00
|
|
|
|
2021-03-27 04:09:42 +13:00
|
|
|
|
2021-04-09 23:00:40 +12:00
|
|
|
def versiontuple(v):
|
2021-04-09 23:18:58 +12:00
|
|
|
try:
|
|
|
|
return tuple(map(int, (v.split("."))))
|
|
|
|
except:
|
|
|
|
return tuple((9, 9, 9)) # It is a beta version and newer
|
2021-04-09 23:00:40 +12:00
|
|
|
|
|
|
|
|
2021-04-22 08:54:24 +12:00
|
|
|
class About(QWidget, Ui_About):
|
2021-02-20 00:57:55 +13:00
|
|
|
def __init__(self):
|
|
|
|
super(About, self).__init__()
|
2021-04-22 08:54:24 +12:00
|
|
|
self.setupUi(self)
|
2021-02-20 00:57:55 +13:00
|
|
|
|
2021-04-22 08:54:24 +12:00
|
|
|
self.version.setText(__version__)
|
|
|
|
|
2021-05-01 06:45:12 +12:00
|
|
|
self.update_label.setVisible(False)
|
2021-04-22 08:54:24 +12:00
|
|
|
self.update.setVisible(False)
|
|
|
|
self.open_browser.setVisible(False)
|
2021-02-20 00:57:55 +13:00
|
|
|
|
2021-04-07 20:44:16 +12:00
|
|
|
latest_tag = get_latest_version()
|
2021-04-09 23:00:40 +12:00
|
|
|
self.update_available = versiontuple(latest_tag) > versiontuple(__version__)
|
2021-04-22 08:54:24 +12:00
|
|
|
|
|
|
|
self.update.setText("{} -> {}".format(__version__, latest_tag))
|
|
|
|
|
|
|
|
self.open_browser.clicked.connect(
|
|
|
|
lambda: webbrowser.open("https://github.com/Dummerle/Rare/releases/latest"))
|
|
|
|
|
2021-04-09 23:00:40 +12:00
|
|
|
if self.update_available:
|
2021-04-07 20:44:16 +12:00
|
|
|
print(f"Update available: {__version__} -> {latest_tag}")
|
2021-05-01 06:45:12 +12:00
|
|
|
self.update_label.setVisible(True)
|
2021-04-22 08:54:24 +12:00
|
|
|
self.update.setVisible(True)
|
|
|
|
self.open_browser.setVisible(True)
|