"getVersionRelease",
"getVersions",
"getXVersion",
+ "isDevelopmentVersion",
]
_salome_versions = {}
-def getVersion( mod = "KERNEL" ):
+def getVersion( mod = "KERNEL", full = False ):
"""
Get SALOME module version number
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
+ - full : take into account development marker (in this case 'dev' is added
+ to the end of version value for development version), False by default
Returns: version number string or None if VERSION file is not found
"""
global _salome_versions
mod = mod.upper()
+ dev_flag = { True : "dev", False : "" }
if not _salome_versions.has_key( mod ):
- _salome_versions[ mod ] = None
+ _salome_versions[ mod ] = [ None, "" ]
import os
root_dir = os.getenv( "%s_ROOT_DIR" % mod )
if root_dir:
filename = root_dir + "/bin/salome/VERSION"
if not os.path.exists( filename ):
filename = root_dir + "/bin/VERSION"
- file = open( filename )
- ver = file.readline()
- file.close()
- _salome_versions[ mod ] = ver.split( ":" )[ -1 ].strip()
+ f = open( filename )
+ data = f.readlines()
+ f.close()
+ for l in data:
+ if l.strip().startswith("#") or ":" not in l: continue
+ key = ":".join( l.split( ":" )[ :-1 ] ).strip()
+ val = l.split( ":" )[ -1 ].strip()
+ if "development" in key.lower():
+ _salome_versions[ mod ][ 1 ] = dev_flag[ val == "1" ]
+ elif "version" in key.lower() or mod in key:
+ _salome_versions[ mod ][ 0 ] = val
+ pass
except:
pass
- return _salome_versions[ mod ]
+ v = _salome_versions[ mod ][ 0 ]
+ if full and v is not None:
+ v += _salome_versions[ mod ][ 1 ]
+ return v
def getVersionMajor( mod = "KERNEL" ):
"""
Get SALOME module major version number
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
Returns: version major number string or None if VERSION file is not found
"""
ver = getVersion( mod )
def getVersionMinor( mod = "KERNEL" ):
"""
Get SALOME module minor version number
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
Returns: version minor number string or None if VERSION file is not found
"""
ver = getVersion( mod )
def getVersionRelease( mod = "KERNEL" ):
"""
Get SALOME module release version number
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
Returns: version release number string or None if VERSION file is not found
"""
ver = getVersion( mod )
def getVersions( mod = "KERNEL" ):
"""
Get SALOME module version as list of [major, minor, release] numbers
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
Returns: version numbers list
"""
try:
def getXVersion( mod = "KERNEL" ):
"""
Get SALOME module version as list of [major, minor, release] numbers
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
Returns: version numbers list
"""
major, minor, rel = getVersions( mod )
return hex( (major<<16) + (minor<<8) + rel )
+
+def isDevelopmentVersion( mod = "KERNEL" ):
+ """
+ Checks if the version of SALOME module is marked as development one
+ Parameters:
+ - mod : SALOME module name, default is 'KERNEL'
+ Returns: Return True for delopment version of module or False otherwise
+ """
+ ver = getVersion( mod, True )
+ return ver.endswith( "dev" )