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 ...@@ -72,8 +72,9 @@ DEFAULT_DM_SSL_CA_CERT_FILE = None
DEFAULT_DM_SSL_CERT_FILE = None DEFAULT_DM_SSL_CERT_FILE = None
DEFAULT_DM_SSL_KEY_FILE = None DEFAULT_DM_SSL_KEY_FILE = None
# Login (user|password) file # Login (user|password) files
DEFAULT_DM_LOGIN_FILE = None DEFAULT_DM_LOGIN_FILE = None
DEFAULT_DM_BSS_LOGIN_FILE = None
# Station name # Station name
DEFAULT_DM_STATION_NAME = None DEFAULT_DM_STATION_NAME = None
...@@ -81,6 +82,10 @@ DEFAULT_DM_STATION_NAME = None ...@@ -81,6 +82,10 @@ DEFAULT_DM_STATION_NAME = None
# Allowed experiment types # Allowed experiment types
DEFAULT_DM_ALLOWED_EXPERIMENT_TYPES = None DEFAULT_DM_ALLOWED_EXPERIMENT_TYPES = None
# Beamline stuff
DEFAULT_DM_BEAMLINE_NAME = None
DEFAULT_DM_BEAMLINE_MANAGERS = None
class ConfigurationManager(UserDict.UserDict): class ConfigurationManager(UserDict.UserDict):
""" """
Singleton class used for keeping system configuration data. The class Singleton class used for keeping system configuration data. The class
...@@ -164,10 +169,13 @@ class ConfigurationManager(UserDict.UserDict): ...@@ -164,10 +169,13 @@ class ConfigurationManager(UserDict.UserDict):
self['defaultSslKeyFile'] = DEFAULT_DM_SSL_KEY_FILE self['defaultSslKeyFile'] = DEFAULT_DM_SSL_KEY_FILE
self['defaultLoginFile'] = DEFAULT_DM_LOGIN_FILE self['defaultLoginFile'] = DEFAULT_DM_LOGIN_FILE
self['defaultBssLoginFile'] = DEFAULT_DM_BSS_LOGIN_FILE
self['defaultStationName'] = DEFAULT_DM_STATION_NAME self['defaultStationName'] = DEFAULT_DM_STATION_NAME
self['defaultAllowedExperimentTypes'] = DEFAULT_DM_ALLOWED_EXPERIMENT_TYPES 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. # Settings that might come from environment variables.
self.__setFromEnvVar('logFile', 'DM_LOG_FILE') self.__setFromEnvVar('logFile', 'DM_LOG_FILE')
...@@ -205,9 +213,12 @@ class ConfigurationManager(UserDict.UserDict): ...@@ -205,9 +213,12 @@ class ConfigurationManager(UserDict.UserDict):
self.__setFromEnvVar('configFile', 'DM_CONFIG_FILE') self.__setFromEnvVar('configFile', 'DM_CONFIG_FILE')
self.__setFromEnvVar('dbPasswordFile', 'DM_DB_PASSWORD_FILE') self.__setFromEnvVar('dbPasswordFile', 'DM_DB_PASSWORD_FILE')
self.__setFromEnvVar('loginFile', 'DM_LOGIN_FILE') self.__setFromEnvVar('loginFile', 'DM_LOGIN_FILE')
self.__setFromEnvVar('bssLoginFile', 'DM_BSS_LOGIN_FILE')
self.__setFromEnvVar('stationName', 'DM_STATION_NAME') self.__setFromEnvVar('stationName', 'DM_STATION_NAME')
self.__setFromEnvVar('allowedExperimentTypes', 'DM_ALLOWED_EXPERIMENT_TYPES') 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. # Settings that might come from file.
self.__setFromVarFile('dbPassword', self.getDbPasswordFile()) self.__setFromVarFile('dbPassword', self.getDbPasswordFile())
...@@ -853,6 +864,18 @@ class ConfigurationManager(UserDict.UserDict): ...@@ -853,6 +864,18 @@ class ConfigurationManager(UserDict.UserDict):
def hasLoginFile(self): def hasLoginFile(self):
return self.has_key('loginFile') 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): def getDefaultStationName(self):
return self['defaultStationName'] return self['defaultStationName']
...@@ -877,6 +900,30 @@ class ConfigurationManager(UserDict.UserDict): ...@@ -877,6 +900,30 @@ class ConfigurationManager(UserDict.UserDict):
def hasAllowedExperimentTypes(self): def hasAllowedExperimentTypes(self):
return self.has_key('allowedExperimentTypes') 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. # 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