Loading crossbow/crossbowBase.pyc 0 → 100644 +7.86 KiB File added.No diff preview for this file type. View file crossbow/crossbowGlobus.py +26 −4 Original line number Diff line number Diff line Loading @@ -83,11 +83,33 @@ class crossbowGlobus(crossbowBase): return transfer def upload_resource(self): pass def upload_resource(self,package,resource_path,source_endpoint=olcfatlas, description=None): #get file info _, format = os.path.splitext(resource_path) filename = os.path.basename(resource_path) directory,_ = os.path.split(resource_path) url = "file://CROSSBOW_NFS/%s/%s" % (package,filename) r = self.transfer.operation_ls(source_endpoint,path=directory,filter='name:'+filename) size = r['DATA'][0]['size'] #execute transfer tdata = globus_sdk.TransferData(self.transfer, source_endpoint, self.cadesdtn, label="Crossbow Transfer", sync_level="checksum") tdata.add_item(source_path,'/data/cades-crossbow/'+package+'/'+filename) transfer_result = self.transfer.submit_transfer(tdata) print("task_id =", transfer_result["task_id"]) #add file to CKAN self.ckan.action.resource_create( package_id=package,url=url,name=filename,description=description, format=format,size=size) return transfer_result def download_resource(self,package,resource,dest_endpoint=olcfatlas, dest_path='\~\'): dest_path='/~/'): ''' use globus to download the resource to a destination endpoint Loading Loading @@ -160,7 +182,7 @@ class crossbowGlobus(crossbowBase): - task_id: string id of task to check ''' r = self.transfer.get_task(submit_result[task_id]) r = self.transfer.get_task(task_id) print ("Label:", r["label"]) print ("Status:", r["status"]) print ("Transfer: {} -> {}".format(r["source_endpoint_display_name"], Loading crossbow/crossbowMount.py +2 −2 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class crossbowMount(crossbowBase): copied += len(buf) callback(copied,size) def upload_resource(self,package,resource,resource_path,description=None): def upload_resource(self,package,resource_path,description=None): ''' upload a local resource to an existing package resource is copied to CROSSBOW_NFS/package/filename Loading Loading @@ -140,7 +140,7 @@ class crossbowMount(crossbowBase): #add file to CKAN self.ckan.action.resource_create( package_id=package,url=url,name=resource,description=description, package_id=package,url=url,name=filename,description=description, format=format,size=size) def get_resource_path(self,package,resource): Loading Loading
crossbow/crossbowBase.pyc 0 → 100644 +7.86 KiB File added.No diff preview for this file type. View file
crossbow/crossbowGlobus.py +26 −4 Original line number Diff line number Diff line Loading @@ -83,11 +83,33 @@ class crossbowGlobus(crossbowBase): return transfer def upload_resource(self): pass def upload_resource(self,package,resource_path,source_endpoint=olcfatlas, description=None): #get file info _, format = os.path.splitext(resource_path) filename = os.path.basename(resource_path) directory,_ = os.path.split(resource_path) url = "file://CROSSBOW_NFS/%s/%s" % (package,filename) r = self.transfer.operation_ls(source_endpoint,path=directory,filter='name:'+filename) size = r['DATA'][0]['size'] #execute transfer tdata = globus_sdk.TransferData(self.transfer, source_endpoint, self.cadesdtn, label="Crossbow Transfer", sync_level="checksum") tdata.add_item(source_path,'/data/cades-crossbow/'+package+'/'+filename) transfer_result = self.transfer.submit_transfer(tdata) print("task_id =", transfer_result["task_id"]) #add file to CKAN self.ckan.action.resource_create( package_id=package,url=url,name=filename,description=description, format=format,size=size) return transfer_result def download_resource(self,package,resource,dest_endpoint=olcfatlas, dest_path='\~\'): dest_path='/~/'): ''' use globus to download the resource to a destination endpoint Loading Loading @@ -160,7 +182,7 @@ class crossbowGlobus(crossbowBase): - task_id: string id of task to check ''' r = self.transfer.get_task(submit_result[task_id]) r = self.transfer.get_task(task_id) print ("Label:", r["label"]) print ("Status:", r["status"]) print ("Transfer: {} -> {}".format(r["source_endpoint_display_name"], Loading
crossbow/crossbowMount.py +2 −2 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class crossbowMount(crossbowBase): copied += len(buf) callback(copied,size) def upload_resource(self,package,resource,resource_path,description=None): def upload_resource(self,package,resource_path,description=None): ''' upload a local resource to an existing package resource is copied to CROSSBOW_NFS/package/filename Loading Loading @@ -140,7 +140,7 @@ class crossbowMount(crossbowBase): #add file to CKAN self.ckan.action.resource_create( package_id=package,url=url,name=resource,description=description, package_id=package,url=url,name=filename,description=description, format=format,size=size) def get_resource_path(self,package,resource): Loading