#!/usr/bin/env python import os import urllib import json 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, filePath, experimentName, fileInfo={}): url = '%s/files/processFile' % (self.getContextRoot()) if not filePath: raise InvalidRequest('File path must be provided.') if not experimentName: raise InvalidRequest('Experiment name must be provided.') fileInfo['filePath'] = filePath fileInfo['experimentName'] = experimentName url += '?fileInfo=%s' % (Encoder.encode(json.dumps(fileInfo))) 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')