From: smbaker Date: Tue, 27 Sep 2011 23:57:27 +0000 (-0700) Subject: check for required minimum version of sfa X-Git-Tag: sface-0.1-20~24 X-Git-Url: http://git.onelab.eu/?p=sface.git;a=commitdiff_plain;h=4d4409833f71f0be62ba1d5915669fdcff02cecd;ds=sidebyside check for required minimum version of sfa --- diff --git a/sface/mainwindow.py b/sface/mainwindow.py index 2068989..51ec9e2 100644 --- a/sface/mainwindow.py +++ b/sface/mainwindow.py @@ -6,6 +6,9 @@ import traceback from PyQt4.QtCore import * from PyQt4.QtGui import * +from distutils.version import LooseVersion +from sfa.util.version import version_core + import sface.screens from sface.config import config from sface.logwindow import LogWindow @@ -13,6 +16,8 @@ from sface.rspecwindow import RSpecWindow, ResourcesWindow from sface.screens.sfascreen import SfaScreen from sface.xmlrpcwindow import get_tracker, init_tracker +MINIMUM_SFA_VERSION = "1.0-37" + # depending on the platform.. # could probably use Qt's resource system but looks overkill for just one file... def locate_image_file (filename): @@ -63,6 +68,15 @@ def load_screens(dirname): return screens +def check_version(): + sfa_version = version_core()['code_tag'] + if (LooseVersion(sfa_version) < LooseVersion(MINIMUM_SFA_VERSION)): + QMessageBox.warning(None, "Old SFA Version", "sfa version %s is required. " + "Your installed version is %s. " + "Please upgrade your sfa and sfa-client packages." + % (MINIMUM_SFA_VERSION, sfa_version) ) + sys.exit(-1) + class Nav(QWidget): def __init__(self, screens, parent=None): QWidget.__init__(self, parent) @@ -123,6 +137,8 @@ class MainWindow(QWidget): def __init__(self, parent=None): QWidget.__init__(self, parent) + check_version() + # These are top-level windows and should be initialized with parent set # to our parent. Otherwise, getting a segfault on exit in Ubuntu. self.logWindow = LogWindow(parent)