From b292cf0bd09168201292be319f1a84e522e6252b Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Fri, 3 Mar 2017 23:39:27 +0000 Subject: [PATCH] add beamline configuration functionality --- .../dm/common/utility/configurationManager.py | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/python/dm/common/utility/configurationManager.py b/src/python/dm/common/utility/configurationManager.py index 73753c5f..09c20cd2 100755 --- a/src/python/dm/common/utility/configurationManager.py +++ b/src/python/dm/common/utility/configurationManager.py @@ -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. -- GitLab