mirror of
https://mojerepo.cf/NeoBoot/NeoBoot-9.git
synced 2025-11-02 20:16:04 +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