diff src/twisted/plugins/libervia_server.py @ 856:fd438e51bda8

server: version check: - added C.APP_VERSIOn to server/constants, to override value from sat.core.constants, this allow checking version mismatch - libervia.__version__ is set - in case of version mismatch with sat module version, an error message is printend and execution is stopped
author Goffi <goffi@goffi.org>
date Sun, 24 Jan 2016 18:45:35 +0100
parents f8a7a046ff9c
children e17b15f1f260
line wrap: on
line diff
--- a/src/twisted/plugins/libervia_server.py	Fri Jan 22 20:22:30 2016 +0100
+++ b/src/twisted/plugins/libervia_server.py	Sun Jan 24 18:45:35 2016 +0100
@@ -31,6 +31,8 @@
         pass
 
 import os.path
+import libervia
+import sat
 
 from libervia.server.constants import Const as C
 
@@ -46,6 +48,25 @@
 
 
 CONFIG_SECTION = C.APP_NAME.lower()
+if libervia.__version__ != sat.__version__:
+    import sys
+    sys.stderr.write(u"""sat module version ({sat_version}) and {current_app} version ({current_version}) mismatch
+
+sat module is located at {sat_path}
+libervia module is located at {libervia_path}
+
+Please be sure to have the same version running
+""".format(
+        sat_version = sat.__version__,
+        current_app = C.APP_NAME,
+        current_version = libervia.__version__,
+        sat_path = os.path.dirname(sat.__file__),
+        libervia_path = os.path.dirname(libervia.__file__),
+        ).encode('utf-8'))
+    sys.stderr.flush()
+    # we call os._exit to avoid help to be printed by twisted
+    import os
+    os._exit(1)
 
 
 def coerceConnectionType(value):  # called from Libervia.OPT_PARAMETERS