Forked from
DM / dm-docs
261 commits behind, 812 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dsRestApiFactory.py 2.63 KiB
#!/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 getUserDsApi(cls):
from userDsApi import UserDsApi
(username, password, host, port, protocol) = cls.__getConfiguration()
api = UserDsApi(username, password, host, port, protocol)
return api
@classmethod
def getAuthDsApi(cls):
from authDsApi import AuthDsApi
(username, password, host, port, protocol) = cls.__getConfiguration()
api = AuthDsApi(username, password, host, port, protocol)
return api
@classmethod
def getExperimentDsApi(cls):
from experimentDsApi import ExperimentDsApi
try:
(username, password, host, port, protocol) = cls.__getConfiguration()
except Exception, ex:
print ex
raise
api = ExperimentDsApi(username, password, host, port, protocol)
return api
@classmethod
def getFileDsApi(cls):
from fileDsApi import FileDsApi
(username, password, host, port, protocol) = cls.__getConfiguration()
api = FileDsApi(username, password, host, port, protocol)
return api
####################################################################
# Testing
if __name__ == '__main__':
pass