mirror of
https://github.com/jarun/nnn.git
synced 2024-11-25 04:11:29 +00:00
46 lines
1.4 KiB
Python
Executable file
46 lines
1.4 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
# #############################################################################
|
|
# natool: a wrapper script to patool to list, extract and create archives
|
|
#
|
|
# usage: natool [-a] [-l] [-x] [archive] [file/dir]
|
|
#
|
|
# Examples:
|
|
# - create archive : natool -a archive.7z archive_dir
|
|
# - list archive : natool -l archive.7z
|
|
# - extract archive: natool -x archive.7z
|
|
#
|
|
# Brief:
|
|
# natool is written to integrate patool (instead of the default atool) with nnn
|
|
# A copies of this file should be dropped somewhere in $PATH as atool
|
|
#
|
|
# Author: Arun Prakash Jana
|
|
# Email: engineerarun@gmail.com
|
|
# Homepage: https://github.com/jarun/nnn
|
|
# Copyright © 2019 Arun Prakash Jana
|
|
# #############################################################################
|
|
|
|
import sys
|
|
from subprocess import Popen, PIPE
|
|
|
|
if len(sys.argv) < 3:
|
|
print('usage: natool [-a] [-l] [-x] [archive] [file/dir]')
|
|
sys.exit(0)
|
|
|
|
if sys.argv[1] == '-a':
|
|
cmd = ['patool', '--non-interactive', 'create', sys.argv[2]]
|
|
cmd.extend(sys.argv[3:])
|
|
elif sys.argv[1] == '-l':
|
|
cmd = ['patool', '--non-interactive', 'list']
|
|
cmd.extend(sys.argv[2:])
|
|
elif sys.argv[1] == '-x':
|
|
cmd = ['patool', '--non-interactive', 'extract']
|
|
cmd.extend(sys.argv[2:])
|
|
else:
|
|
sys.exit(0)
|
|
|
|
pipe = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
|
out, err = pipe.communicate()
|
|
print(out.decode())
|
|
print(err.decode())
|