#!/usr/bin/env python from dm.common.utility.loggingManager import LoggingManager from dm.common.utility.configurationManager import ConfigurationManager class DsRestApiFactory: CONFIG_SECTION_NAME = 'DsRestApiFactory' USERNAME_KEY = 'username' PASSWORD_FILE_KEY = 'passwordfile' HOST_KEY = 'host' PORT_KEY = 'port' PROTOCOL_KEY = 'protocol' __logger = None __username = None __password = None __host = None __port = None __protocol = None @classmethod def getLogger(cls): if cls.__logger is None: cls.__logger = LoggingManager.getInstance().getLogger(cls.__name__) return cls.__logger @classmethod def __getConfiguration(cls): if cls.__username is None: cls.__username = ConfigurationManager.getInstance().getConfigOption(cls.CONFIG_SECTION_NAME, cls.USERNAME_KEY) cls.__password = open(ConfigurationManager.getInstance().getConfigOption(cls.CONFIG_SECTION_NAME, cls.PASSWORD_FILE_KEY)).read().strip() cls.__host = ConfigurationManager.getInstance().getConfigOption(cls.CONFIG_SECTION_NAME, cls.HOST_KEY) cls.__port = ConfigurationManager.getInstance().getConfigOption(cls.CONFIG_SECTION_NAME, cls.PORT_KEY) cls.__protocol = ConfigurationManager.getInstance().getConfigOption(cls.CONFIG_SECTION_NAME, cls.PROTOCOL_KEY) return (cls.__username, cls.__password, cls.__host, cls.__port, cls.__protocol) @classmethod def getUserRestApi(cls): from userRestApi import UserRestApi (username, password, host, port, protocol) = cls.__getConfiguration() api = UserRestApi(username, password, host, port, protocol) return api @classmethod def getAuthRestApi(cls): from authRestApi import AuthRestApi (username, password, host, port, protocol) = cls.__getConfiguration() api = AuthRestApi(username, password, host, port, protocol) return api @classmethod def getExperimentRestApi(cls): from experimentRestApi import ExperimentRestApi (username, password, host, port, protocol) = cls.__getConfiguration() api = ExperimentRestApi(username, password, host, port, protocol) return api @classmethod def getFileRestApi(cls): from fileRestApi import FileRestApi (username, password, host, port, protocol) = cls.__getConfiguration() api = FileRestApi(username, password, host, port, protocol) return api #################################################################### # Testing if __name__ == '__main__': pass