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

starting to document DS experiment API

parent 555763dd
No related branches found
No related tags found
No related merge requests found
.. automodule:: dm.ds_web_service.api
.. currentmodule:: dm.ds_web_service.api
ExperimentDsApi
-----------------
.. autoclass:: dm.ds_web_service.api.experimentDsApi.ExperimentDsApi()
:show-inheritance:
:members: __init__, getExperimentTypes, getExperiments
......@@ -12,6 +12,7 @@ The `dm` package contains python APIs for accessing Data Management services.
:maxdepth: 4
:caption: Contents:
dm.ds_web_service.api
dm.daq_web_service.api
dm.aps_bss.api
......
......@@ -38,7 +38,7 @@ class ExperimentDaqApi(DaqRestApi):
:param protocol: DM service protocol
:type protocol: str
>>> api = ExperimentDaqApi(username='dm', password='XYZ', host='bluegill1', port=22236, protocol='https')
>>> api = ExperimentDaqApi(username='dm', password='XYZ', host='bluegill1', port=33336, protocol='https')
'''
DaqRestApi.__init__(self, username, password, host, port, protocol)
......
......@@ -10,18 +10,70 @@ from dm.common.objects.experimentType import ExperimentType
from dsRestApi import DsRestApi
class ExperimentDsApi(DsRestApi):
'''
Data Management API for accessing experiment interface provided by the
DS service.
'''
def __init__(self, username=None, password=None, host=None, port=None, protocol=None):
'''
Constructor.
:param username: DM username
:type username: str
:param password: DM password
:type password: str
:param host: DM service host
:type host: str
:param port: DM service port
:type port: int
:param protocol: DM service protocol
:type protocol: str
>>> api = ExperimentDsApi(username='dm', password='XYZ', host='bluegill1', port=22236, protocol='https')
'''
DsRestApi.__init__(self, username, password, host, port, protocol)
@DsRestApi.execute
@DsRestApi.execute2
def getExperimentTypes(self):
'''
Get list of allowed experiment types.
:returns: list of ExperimentType objects
:raises AuthorizationError: in case user is not logged in
:raises DmException: in case of any other errors
>>> experimentTypeList = api.getExperimentTypes()
>>> for experimentType in experimentTypeList:
>>> print experimentType['id'], experimentType['name']
'''
url = '%s/experimentTypes' % (self.getContextRoot())
responseData = self.sendSessionRequest(url=url, method='GET')
return self.toDmObjectList(responseData, ExperimentType)
@DsRestApi.execute
@DsRestApi.execute2
def getExperiments(self):
'''
Get list of known experiments.
:returns: list of Experiment objects
:raises AuthorizationError: in case user does not have DM administrator role
:raises DmException: in case of any other errors
>>> experimentList = api.getExperiments()
>>> for experiment in experimentList:
>>> print experiment['id'], experiment['name']
'''
url = '%s/experiments' % (self.getContextRoot())
responseData = self.sendSessionRequest(url=url, method='GET')
return self.toDmObjectList(responseData, Experiment)
......
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