1
0
Fork 0
mirror of synced 2024-07-01 12:40:28 +12:00
Rare/rare/components/tabs/settings/about.py

41 lines
1.2 KiB
Python
Raw Normal View History

import webbrowser
2021-04-22 08:54:24 +12:00
from PyQt5.QtWidgets import QWidget
2021-04-08 08:39:23 +12:00
from rare import __version__
2021-04-29 09:35:09 +12:00
from rare.components.tabs.settings.about_ui 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
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-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-04-28 03:29:48 +12:00
self.lbl_update.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
latest_tag = get_latest_version()
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"))
if self.update_available:
print(f"Update available: {__version__} -> {latest_tag}")
2021-04-28 03:29:48 +12:00
self.lbl_update.setVisible(True)
2021-04-22 08:54:24 +12:00
self.update.setVisible(True)
self.open_browser.setVisible(True)