Skip to content
Snippets Groups Projects
Commit b292cf0b authored by sveseli's avatar sveseli
Browse files

add beamline configuration functionality

parent 841aa7fb
No related branches found
No related tags found
No related merge requests found
......@@ -72,8 +72,9 @@ DEFAULT_DM_SSL_CA_CERT_FILE = None
DEFAULT_DM_SSL_CERT_FILE = None
DEFAULT_DM_SSL_KEY_FILE = None
# Login (user|password) file
# Login (user|password) files
DEFAULT_DM_LOGIN_FILE = None
DEFAULT_DM_BSS_LOGIN_FILE = None
# Station name
DEFAULT_DM_STATION_NAME = None
......@@ -81,6 +82,10 @@ DEFAULT_DM_STATION_NAME = None
# Allowed experiment types
DEFAULT_DM_ALLOWED_EXPERIMENT_TYPES = None
# Beamline stuff
DEFAULT_DM_BEAMLINE_NAME = None
DEFAULT_DM_BEAMLINE_MANAGERS = None
class ConfigurationManager(UserDict.UserDict):
"""
Singleton class used for keeping system configuration data. The class
......@@ -164,10 +169,13 @@ class ConfigurationManager(UserDict.UserDict):
self['defaultSslKeyFile'] = DEFAULT_DM_SSL_KEY_FILE
self['defaultLoginFile'] = DEFAULT_DM_LOGIN_FILE
self['defaultBssLoginFile'] = DEFAULT_DM_BSS_LOGIN_FILE
self['defaultStationName'] = DEFAULT_DM_STATION_NAME
self['defaultAllowedExperimentTypes'] = DEFAULT_DM_ALLOWED_EXPERIMENT_TYPES
self['defaultBeamlineName'] = DEFAULT_DM_BEAMLINE_NAME
self['defaultBeamlineManagers'] = DEFAULT_DM_BEAMLINE_MANAGERS
# Settings that might come from environment variables.
self.__setFromEnvVar('logFile', 'DM_LOG_FILE')
......@@ -205,9 +213,12 @@ class ConfigurationManager(UserDict.UserDict):
self.__setFromEnvVar('configFile', 'DM_CONFIG_FILE')
self.__setFromEnvVar('dbPasswordFile', 'DM_DB_PASSWORD_FILE')
self.__setFromEnvVar('loginFile', 'DM_LOGIN_FILE')
self.__setFromEnvVar('bssLoginFile', 'DM_BSS_LOGIN_FILE')
self.__setFromEnvVar('stationName', 'DM_STATION_NAME')
self.__setFromEnvVar('allowedExperimentTypes', 'DM_ALLOWED_EXPERIMENT_TYPES')
self.__setFromEnvVar('beamlineName', 'DM_BEAMLINE_NAME')
self.__setFromEnvVar('beamlineManagers', 'DM_BEAMLINE_MANAGERS')
# Settings that might come from file.
self.__setFromVarFile('dbPassword', self.getDbPasswordFile())
......@@ -853,6 +864,18 @@ class ConfigurationManager(UserDict.UserDict):
def hasLoginFile(self):
return self.has_key('loginFile')
def getDefaultBssLoginFile(self):
return self['defaultBssLoginFile']
def getBssLoginFile(self, default='__dm_default__'):
return self.__getKeyValue('bssLoginFile', default)
def setBssLoginFile(self, f):
self['bssLoginFile'] = f
def hasBssLoginFile(self):
return self.has_key('bssLoginFile')
def getDefaultStationName(self):
return self['defaultStationName']
......@@ -877,6 +900,30 @@ class ConfigurationManager(UserDict.UserDict):
def hasAllowedExperimentTypes(self):
return self.has_key('allowedExperimentTypes')
def getDefaultBeamlineName(self):
return self['defaultBeamlineName']
def getBeamlineName(self, default='__dm_default__'):
return self.__getKeyValue('beamlineName', default)
def setBeamlineName(self, f):
self['beamlineName'] = f
def hasBeamlineName(self):
return self.has_key('beamlineName')
def getDefaultBeamlineManagers(self):
return self['defaultBeamlineManagers']
def getBeamlineManagers(self, default='__dm_default__'):
return self.__getKeyValue('beamlineManagers', default)
def setBeamlineManagers(self, f):
self['beamlineManagers'] = f
def hasBeamlineManagers(self):
return self.has_key('beamlineManagers')
#######################################################################
# Testing.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment