def handle_vol(self, vol): p = self.opts n = len(p) if n == 0 or n > 2: print("Usage: read <ami_file|dir> [sys_file]") return 1 # determine output name out_name = os.path.basename(p[0]) if n == 2: if os.path.isdir(p[1]): out_name = os.path.join(p[1],out_name) else: out_name = p[1] # single file operation name = make_fsstr(p[0]) node = vol.get_path_name(name) if node == None: print("Node not found:", p[0]) return 2 # its a file if node.is_file(): data = node.get_file_data() # write data to file fh = open(out_name,"wb") fh.write(data) fh.close() # its a dir elif node.is_dir(): img = Imager() img.unpack_dir(node, out_name) node.flush() return 0
def handle_vol(self, vol): p = self.opts n = len(p) if n == 0 or n > 2: print "Usage: read <ami_file|dir> [sys_file]" return 1 # determine output name out_name = os.path.basename(p[0]) if n == 2: if os.path.isdir(p[1]): out_name = os.path.join(p[1], out_name) else: out_name = p[1] # single file operation name = make_fsstr(p[0]) node = vol.get_path_name(name) if node == None: print "Node not found:", p[0] return 2 # its a file if node.is_file(): data = node.get_file_data() # write data to file fh = open(out_name, "wb") fh.write(data) fh.close() # its a dir elif node.is_dir(): img = Imager() img.unpack_dir(node, out_name) node.flush() return 0
def extract(self, name, output): path = self.absolutePath(name) node = self.volume.get_path_name(make_fsstr(path)) if node.is_file(): data = node.get_file_data() fh = open(output, 'wb') fh.write(data) fh.close() elif node.is_dir(): img = Imager(meta_mode=Imager.META_MODE_NONE) img.unpack_dir(node, output)