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

new file processing apis added

parent f706f1e9
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python #!/usr/bin/env python
from dm.common.api.dmRestApi import DmRestApi from dm.common.api.dmRestApi import DmRestApi
from dm.common.utility.configurationManager import ConfigurationManager
class DsRestApi(DmRestApi): class DsRestApi(DmRestApi):
""" Base DS DM REST api class. """ """ Base DS DM REST api class. """
def __init__(self, username=None, password=None, host=None, port=None, protocol=None): def __init__(self, username=None, password=None, host=None, port=None, protocol=None):
if host == None: if host == None:
host = self.configurationManager.getDsWebServiceHost() host = ConfigurationManager.getInstance().getDsWebServiceHost()
if port == None: if port == None:
port = self.configurationManager.getDsWebServicePort() port = ConfigurationManager.getInstance().getDsWebServicePort()
DmRestApi.__init__(self, username, password, host, port, protocol) DmRestApi.__init__(self, username, password, host, port, protocol)
####################################################################### #######################################################################
......
...@@ -56,6 +56,12 @@ class DsRestApiFactory: ...@@ -56,6 +56,12 @@ class DsRestApiFactory:
api = ExperimentRestApi(username, password, host, port, protocol) api = ExperimentRestApi(username, password, host, port, protocol)
return api 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 # Testing
......
#!/usr/bin/env python
import os
import urllib
from dm.common.utility.encoder import Encoder
from dm.common.exceptions.dmException import DmException
from dm.common.objects.fileMetadata import FileMetadata
from dsRestApi import DsRestApi
class FileRestApi(DsRestApi):
def __init__(self, username=None, password=None, host=None, port=None, protocol=None):
DsRestApi.__init__(self, username, password, host, port, protocol)
@DsRestApi.execute
def processFile(self, fileName, filePath, experimentName):
url = '%s/files/processFile' % (self.getContextRoot())
if not fileName:
raise InvalidRequest('File name must be provided.')
url += '?fileName=%s' % Encoder.encode(fileName)
if not filePath:
raise InvalidRequest('File path must be provided.')
url += '&filePath=%s' % Encoder.encode(filePath)
if not experimentName:
raise InvalidRequest('Experiment name must be provided.')
url += '&experimentName=%s' % Encoder.encode(experimentName)
responseDict = self.sendSessionRequest(url=url, method='POST')
return FileMetadata(responseDict)
#######################################################################
# Testing.
if __name__ == '__main__':
api = FileRestApi('sveseli', 'sveseli', 'zagreb.svdev.net', 22236, 'http')
print api.processFile('file1', '/ESAF/exp1', 'exp1')
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