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'