From 794a0e27091b63f997fc829d0288cde5a4a2edbd Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 16 Jun 2019 22:21:13 +0530 Subject: Move scripts to misc --- misc/natool/natool | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 misc/natool/natool (limited to 'misc/natool') diff --git a/misc/natool/natool b/misc/natool/natool new file mode 100755 index 0000000..0b00066 --- /dev/null +++ b/misc/natool/natool @@ -0,0 +1,45 @@ +#!/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, DEVNULL + +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()) -- cgit v1.2.3-70-g09d2