From e3aa31e299f3b5a9d5c3d8b8f43a17c2a8d8cacf Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Mon, 6 Mar 2017 22:30:33 +0000 Subject: [PATCH] starting to document DS experiment API --- doc/sphinx/source/dm.ds_web_service.api.rst | 2 +- .../dm/ds_web_service/api/experimentDsApi.py | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/doc/sphinx/source/dm.ds_web_service.api.rst b/doc/sphinx/source/dm.ds_web_service.api.rst index da6ab6d5..00894151 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 f898f866..b0e97e89 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.') -- GitLab