diff --git a/.gitignore b/.gitignore index cd456c5..2bca8bb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ *.py[oc] *.swp +_buildid.py + build/ dist/ diff --git a/gui/mainwindow.ui b/gui/mainwindow.ui index 1bd4d7b..74386db 100644 --- a/gui/mainwindow.ui +++ b/gui/mainwindow.ui @@ -17,7 +17,7 @@ - Luftdaten.info Flashing Tool + Luftdaten.info Flashing Tool (v{version}) @@ -279,6 +279,19 @@ 12 + + + + + 50 + false + + + + <b>Luftdaten.info Flashing Tool</b><br/>Build {build_id} + + + @@ -298,19 +311,6 @@ - - - - - 75 - true - - - - Luftdaten.info Flashing Tool - - - diff --git a/luftdaten-tool.py b/luftdaten-tool.py index a1c8fbe..f477ef1 100644 --- a/luftdaten-tool.py +++ b/luftdaten-tool.py @@ -11,6 +11,7 @@ import logging import requests from esptool import ESPLoader +import luftdatentool from luftdatentool.qtvariant import QtGui, QtCore, QtWidgets from luftdatentool.utils import QuickThread from luftdatentool.workers import PortDetectThread, FirmwareListThread, \ @@ -87,6 +88,21 @@ class MainWindow(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): def on_work_error(self, message): self.statusbar.showMessage(message) + @property + def version(self): + return luftdatentool.__version__ + + @property + def build_id(self): + try: + from luftdatentool._buildid import commit, builddate + except ImportError: + import datetime + commit = 'devel' + builddate = datetime.datetime.now().strftime('%Y%m%d') + + return '{}-{}/{}'.format(self.version, commit, builddate) + def i18n_init(self, locale): """Initializes i18n to specified QLocale""" @@ -97,6 +113,13 @@ class MainWindow(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): self.app.installTranslator(self.translator) self.retranslateUi(self) + def retranslateUi(self, win): + super(MainWindow, self).retranslateUi(win) + + win.setWindowTitle(win.windowTitle().format( + version=self.version)) + win.buildLabel.setText(win.buildLabel.text().format( + build_id=self.build_id)) def populate_versions(self, files): """Loads available firmware versions into versionbox widget""" diff --git a/luftdaten-tool.spec b/luftdaten-tool.spec index c4eb8c4..14e09dc 100644 --- a/luftdaten-tool.spec +++ b/luftdaten-tool.spec @@ -2,6 +2,16 @@ block_cipher = None +import subprocess +import datetime + +commit = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip().decode('utf-8') +builddate = datetime.datetime.now().strftime('%Y%m%d') + +with open('luftdatentool/_buildid.py', 'w') as fd: + fd.write('''# This file is autogenerated in luftdaten-tool.spec file +commit = "{commit}" +builddate = "{builddate}"'''.format(commit=commit, builddate=builddate)) a = Analysis(['luftdaten-tool.py'], pathex=['.'], diff --git a/luftdatentool/__init__.py b/luftdatentool/__init__.py index e69de29..b650ceb 100644 --- a/luftdatentool/__init__.py +++ b/luftdatentool/__init__.py @@ -0,0 +1 @@ +__version__ = '0.2'