# #############################################################################
# natool: a wrapper script to patool to list, extract and create archives
#
-# usage: natool [-l] [-x] [archive] [file/dir]
+# 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
-# - create archive : natool archive.7z archive_dir
#
# Brief:
# natool is written to integrate patool (instead of the default atool) with nnn
-# Two copies of this file should be dropped somewhere in $PATH - atool, apack
+# A copies of this file should be dropped somewhere in $PATH as atool
#
# Author: Arun Prakash Jana
# Email: engineerarun@gmail.com
from subprocess import Popen, PIPE, DEVNULL
if len(sys.argv) < 3:
- print('usage: natool [-l] [-x] [archive] [file/dir]')
+ print('usage: natool [-a] [-l] [-x] [archive] [file/dir]')
sys.exit(0)
-if sys.argv[1] == '-x':
- cmd = ['patool', '--non-interactive', 'extract']
+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:
- cmd = ['patool', '--non-interactive', 'create', sys.argv[1]]
-
-cmd.extend(sys.argv[2:])
+ sys.exit(0)
pipe = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
out, err = pipe.communicate()
char cmd[] = "bsdtar -cf";
if (getutil(utils[ATOOL]))
- xstrlcpy(cmd, "atool -qa", 10);
+ xstrlcpy(cmd, "atool -a", 10);
else if (!getutil(utils[BSDTAR])) {
printwait(messages[UTIL_MISSING], &presel);
goto nochange;