Example #1
0
 def replicate_file(self, file_info, dst_resource):
     """Replicate a file in irods
     file_info : (collection, file, resource)
     dst_resource : str"""
     (collection, irods_file, src_resource) = file_info
     dataObjInp = irods.dataObjInp_t()
     d = irods.getFileInfo(self.conn, collection, irods_file, src_resource)
     cond_inp = dataObjInp.condInput
     irods.addKeyVal(cond_inp, irods.REPL_NUM_KW, d['data_repl_num'])
     irods.addKeyVal(cond_inp, irods.RESC_NAME_KW, src_resource)
     irods.addKeyVal(cond_inp, irods.DEST_RESC_NAME_KW, dst_resource)
     dataObjInp.objPath = collection + '/' + irods_file
     status = irods.rcDataObjRepl(self.conn, dataObjInp)
     return status
Example #2
0
 def delete_file(self, path, resc=None):
     """Delete a file in iRODS
     path : irods path (str)
     resc : Resource"""
     dataObjInp = irods.dataObjInp_t()
     dataObjInp.openFlags = irods.O_RDONLY
     if resc:
         d = irods.getFileInfo(path, resc)
         irods.addKeyVal(dataObjInp.condInput,
                         irods.REPL_NUM_KW,
                         d['data_repl_num'])
     dataObjInp.objPath = path
     status = irods.rcDataObjUnlink(self.conn, dataObjInp)
     return status
Example #3
0
 def delete_files(self, irods_files):
     """Delete a list of files from iRODS
     irods_files : list of tuples (collection, file, resource)"""
     dataObjInp = irods.dataObjInp_t()
     dataObjInp.openFlags = irods.O_RDONLY
     st = []
     for (collection, irods_file, resource) in irods_files:
         d = irods.getFileInfo(self.conn, collection, irods_file, resource)
         irods.addKeyVal(dataObjInp.condInput,
                         irods.REPL_NUM_KW,
                         d['data_repl_num'])
         dataObjInp.objPath = collection + '/' + irods_file
         status = irods.rcDataObjUnlink(self.conn, dataObjInp)
         st.append(status)
     return st
Example #4
0
 def get_file_info(self, irods_path, resource):
     """Get a dictionary of file information"""
     _, coll_name, data_name = irods.splitPathByKey(irods_path, "/")
     return irods.getFileInfo(self.conn, coll_name, data_name, resource)