mirror of
https://mojerepo.cf/NeoBoot/NeoBoot-9.git
synced 2025-11-01 15:35:46 +01:00
Delete ubi_extract_files.py
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse_neo
|
||||
from ubi import ubi, get_peb_size
|
||||
from ubifs import ubifs
|
||||
from ubi_io import ubi_file, leb_virtual_file
|
||||
from ui.common import extract_files, output_dir
|
||||
if __name__ == '__main__':
|
||||
os.system('echo "\n[NeoBoot] Zip file unzipped.\nInstallation in progress, please wait ..."')
|
||||
description = 'Extract contents of UBI image.'
|
||||
usage = 'ubi_extract_files.py [options] filepath'
|
||||
parser = argparse_neo.ArgumentParser(usage=usage, description=description)
|
||||
parser.add_argument('-l', '--log-file', dest='logpath', help='Log output to file output/LOGPATH. (default: ubifs_output.log)')
|
||||
parser.add_argument('-k', '--keep-permissions', action='store_true', dest='permissions', help='Maintain file permissions, requires running as root. (default: False)')
|
||||
parser.add_argument('-q', '--quiet', action='store_true', dest='quiet', help='Suppress warnings and non-fatal errors. (default: False)')
|
||||
parser.add_argument('-p', '--peb-size', type=int, dest='block_size', help='Specify PEB size.')
|
||||
parser.add_argument('-o', '--output-dir', dest='output_path', help='Specify output directory path.')
|
||||
parser.add_argument('filepath', help='File to extract contents of.')
|
||||
if len(sys.argv) == 1:
|
||||
parser.print_help()
|
||||
sys.exit()
|
||||
args = parser.parse_args()
|
||||
if args.filepath:
|
||||
path = args.filepath
|
||||
if not os.path.exists(path):
|
||||
parser.error("File path doesn't exist.")
|
||||
if args.output_path:
|
||||
output_path = args.output_path
|
||||
else:
|
||||
img_name = os.path.splitext(os.path.basename(path))[0]
|
||||
output_path = os.path.join(output_dir, img_name)
|
||||
if args.logpath:
|
||||
log_to_file = True
|
||||
log_file = args.logpath
|
||||
else:
|
||||
log_to_file = None
|
||||
log_file = None
|
||||
if args.block_size:
|
||||
block_size = args.block_size
|
||||
else:
|
||||
block_size = get_peb_size(path)
|
||||
perms = args.permissions
|
||||
quiet = args.quiet
|
||||
if not os.path.exists(output_path):
|
||||
os.makedirs(output_path)
|
||||
ufile = ubi_file(path, block_size)
|
||||
uubi = ubi(ufile)
|
||||
for image in uubi.images:
|
||||
for volume in image.volumes:
|
||||
vol_out_path = os.path.join(output_path, volume)
|
||||
if not os.path.exists(vol_out_path):
|
||||
os.makedirs(vol_out_path)
|
||||
elif os.listdir(vol_out_path):
|
||||
parser.error('Volume output directory is not empty. %s' % vol_out_path)
|
||||
ufsfile = leb_virtual_file(uubi, image.volumes[volume])
|
||||
uubifs = ubifs(ufsfile)
|
||||
uubifs.log.log_file = log_file
|
||||
uubifs.log.log_to_file = log_to_file
|
||||
uubifs.log.quiet = quiet
|
||||
print 'Wait almost over ...\nLoading the image to: %s' % vol_out_path
|
||||
extract_files(uubifs, vol_out_path, perms)
|
||||
|
||||
sys.exit(0)
|
||||
Reference in New Issue
Block a user