def run(self): rd = self.request.toJson() setHeader('Content-type',rmt.JSON,self._connect) setHeader('accept','application/json',self._connect) print "url async request: {0}".format(rd) rest = self._connect.post(self.url, data=json.dumps(rd)) self.result["content"] = rest.content return self
def serverInfo(self): setHeader('accept', 'application/json', self._connect) self.result = self._connect.get(self._connect._rest_url + "_v2/serverInfo") self.content = self.result.content return self
def run_exports(self, requestId): rd = self.request.toJson() path = "/%s/exports" % (requestId) setHeader('Content-type',rmt.JSON,self._connect) setHeader('accept','application/json',self._connect) rest = self._connect.post(self.url + path, data=json.dumps(rd)) self.result["content"] = rest.content return self
def modifyParameters(self, params): setHeader('accept', 'application/json', self._connect) setHeader('Content-Type', rmt.JSON, self._connect) path = "/%s/parameters" % (self.requestId, ) print "modifyParameters path {0} params {1} headers {2}".format( self.url + path, json.dumps(params), self._connect.headers) result = self._connect.get(self.url + path, params=json.dumps(params)) return result
def build_resourceDescriptor(self, resource): # Build the resource descriptor in resourceDescriptor tags XML # Returns a tuple with the string of the resourceDescriptor, and the uri of the file resource. mimetype = ru.getMimeType(resource) setHeader('Content-type', RESOURCE_MEDIA_TYPE_PREFIX + mimetype + '+json', self._connect) setHeader('accept', rmt.JSON, self._connect) #url = self.url + "?" + urllib.urlencode({"create Folder":False}) return resource.toString()
def runExport(self, exportExecutionOptions): setHeader('accept', 'application/json', self._connect) setHeader('Content-type', rmt.JSON, self._connect) path = "/%s/exports/" % (self.requestId, ) rd = exportExecutionOptions.toJson() result = self._connect.post(self.url + path, data=json.dumps(rd)) return result
def patchResource(self, patchDescriptor): #mimetype = ru.getMimeType(resourcename) setHeader('Content-type', rmt.JSON, self._connect) #rd = {'version': patchDescriptor.getVersion(), "patch":[]} rd = patchDescriptor.toString() print rd self.result = self._connect.patch(self.url, data=rd) return self
def downloadBinary(self, file=True): #removeHeader('accept', self._connect) if not file: setHeader('accept', 'application/repository.file+json', self._connect) self.result = self._connect.get(self.url, params=self.params) #removeHeader('accept', self._connect) return self
def search(self): ''' Browse the path. When used without arguments, it gives the list of resources in the folder specified in the URL. With the arguments, you can search for terms in the resource names or descriptions, search for all resources of a given *wstype*, and specify whether to search in subfolders. The *recursive* parameter is only used if a search criteria is specified (either *q* or *wstype*). This method return each found resource : name, type and uri in a dictionnary. ''' setHeader('accept', rmt.JSON, self._connect) #params = {'q': description, # 'type': wstype, # 'recursive': recursive, # 'limit': item_max #} self.result = self._connect.get(self.url, params=self.params) return self
def uploadFileStream(self, resource): mimetype = resource.getMimeType() setHeader('Content-Type', mimetype, self._connect) setHeader('Content-Description', resource.getDescription(), self._connect) setHeader('Content-Disposition', "attachment; filename=%s" % resource.getLabel(), self._connect) pp.pprint(self._connect.headers) files = {"file": resource.getContent()} self.result = self._connect.post(self.url, files=files, params=self.params) return self
def details(self): setHeader('accept', 'application/json', self._connect) self.result = self._connect.get(self.url, params=self.params) return self
def copyFrom(self, copyfrom): setHeader('Content-Location', copyfrom, self._connect) self.result = self._connect.post(self.url, params=self.params) return self
def cancelExecution(self): path = "/%s/status/" % (self.requestId, ) setHeader('Content-type', rmt.JSON, self._connect) setHeader('accept', rmt.JSON, self._connect) cancelled = {"value": "cancelled"} return self._connect.put(self.url + path, data=json.dumps(cancelled))
def moveFrom(self, movefrom): setHeader('Content-Location', movefrom, self._connect) self.result = self._connect.put(self.url, params=self.params) return self
def executionDetails(self): path = "/%s" % (self.requestId, ) setHeader('accept', 'application/json', self._connect) result = self._connect.get(self.url + path).content self.opresult = json.loads(result) return self.opresult
def status(self): path = "/%s/status" % (self.requestId, ) #setHeader('Content-type',rmt.JSON,self._connect) setHeader('accept', 'application/json', self._connect) return self._connect.get(self.url + path)
def prepareRequest(self): setHeader('accept', rmt.JSON, self._connect) return ReportParametersUtils.toReportParameters(self.params)