From 19b772c4f99faa6078466083a771767ed3f6c752 Mon Sep 17 00:00:00 2001
From: Xavier Robin <xavier.robin@unibas.ch>
Date: Fri, 15 Mar 2024 15:30:12 +0100
Subject: [PATCH] feat: add --version option to show OST version

---
 scripts/ost_startup.py.in | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/scripts/ost_startup.py.in b/scripts/ost_startup.py.in
index c451bec38..1b11a98c7 100644
--- a/scripts/ost_startup.py.in
+++ b/scripts/ost_startup.py.in
@@ -5,6 +5,10 @@ def show_help(option, opt, value, parser):
   parser.print_help()
   sys.exit(-1)
 
+def show_version(option, opt, value, parser):
+  print("OpenStructure " + ost.__version__)
+  sys.exit(0)
+
 def interactive_flag(option, opt, value, parser):
   pass
 
@@ -34,13 +38,6 @@ class OstOptionParser(optparse.OptionParser):
     print(error_message, end=' ')
     sys.exit(-1)
 
-parser=OstOptionParser(usage=usage,conflict_handler="resolve", prog='ost''')
-parser.add_option("-i", "--interactive", action="callback", callback=interactive_flag, help="start interpreter interactively (must be first parameter, ignored otherwise)")
-parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit")
-parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=2, help="sets the verbosity level [default: %default]")
-parser.disable_interspersed_args()
-(options, args) = parser.parse_args()
-
 _site_packs='python%d.%d/site-packages' % sys.version_info[0:2]
 _base_dir=os.getenv('DNG_ROOT')
 sys.path.insert(0, os.path.join(_base_dir, '@LIBDIR@', _site_packs))
@@ -48,6 +45,14 @@ sys.path.insert(0, os.path.join(_base_dir, '@LIBDIR@', _site_packs))
 from ost import *
 import ost
 
+parser=OstOptionParser(usage=usage,conflict_handler="resolve", prog='ost''')
+parser.add_option("-i", "--interactive", action="callback", callback=interactive_flag, help="start interpreter interactively (must be first parameter, ignored otherwise)")
+parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit")
+parser.add_option("-V", "--version", action="callback", callback=show_version, help="show OST version and exit")
+parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=2, help="sets the verbosity level [default: %default]")
+parser.disable_interspersed_args()
+(options, args) = parser.parse_args()
+
 HistoryFile=os.path.expanduser('~/.ost_history')
 
 # we are not in GUI mode. 
-- 
GitLab