diff --git a/doc/sphinx/source/dm.ds_web_service.api.rst b/doc/sphinx/source/dm.ds_web_service.api.rst index da6ab6d5d262a95a233672798ea16191e8fa2d8a..00894151f61c41fcdf0a493433e97d844b500773 100644 --- a/doc/sphinx/source/dm.ds_web_service.api.rst +++ b/doc/sphinx/source/dm.ds_web_service.api.rst @@ -7,6 +7,6 @@ ExperimentDsApi .. autoclass:: dm.ds_web_service.api.experimentDsApi.ExperimentDsApi() :show-inheritance: - :members: __init__, getExperimentTypes, getExperiments + :members: __init__, getExperimentTypes, getExperiments, getExperimentsByStation diff --git a/src/python/dm/ds_web_service/api/experimentDsApi.py b/src/python/dm/ds_web_service/api/experimentDsApi.py index f898f86612b40b97b1818d4c88d529f580d7f6c7..b0e97e893bd35e9220d413f967a836525343958a 100755 --- a/src/python/dm/ds_web_service/api/experimentDsApi.py +++ b/src/python/dm/ds_web_service/api/experimentDsApi.py @@ -78,8 +78,25 @@ class ExperimentDsApi(DsRestApi): responseData = self.sendSessionRequest(url=url, method='GET') return self.toDmObjectList(responseData, Experiment) - @DsRestApi.execute + @DsRestApi.execute2 def getExperimentsByStation(self, stationName): + ''' + Get list of experiments on a given station. + + :param stationName: DM station name + :type stationName: str + + :returns: list of Experiment objects + + :raises AuthorizationError: in case user is not authorized to manage the given DM station + + :raises DmException: in case of any other errors + + >>> experimentList = api.getExperiments() + >>> for experiment in experimentList: + >>> print experiment['id'], experiment['name'] + ''' + url = '%s/experimentsByStation/%s' % (self.getContextRoot(), stationName) if not stationName: raise InvalidRequest('Experiment station name must be provided.')