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
Beispiel #2
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
Beispiel #3
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)