mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-08-08 22:36:48 +02:00
stop blocking when no pipe and enhance help text
This commit is contained in:
49
jc/jc.py
49
jc/jc.py
@ -20,13 +20,41 @@ import jc.parsers.route
|
|||||||
import jc.parsers.uname
|
import jc.parsers.uname
|
||||||
|
|
||||||
|
|
||||||
|
def helptext():
|
||||||
|
print('Usage: jc [parser] [options]\n', file=sys.stderr)
|
||||||
|
print('Parsers:', file=sys.stderr)
|
||||||
|
print(' --df df parser', file=sys.stderr)
|
||||||
|
print(' --env env parser', file=sys.stderr)
|
||||||
|
print(' --free free parser', file=sys.stderr)
|
||||||
|
print(' --ifconfig iconfig parser', file=sys.stderr)
|
||||||
|
print(' --iptables iptables parser', file=sys.stderr)
|
||||||
|
print(' --ls ls parser', file=sys.stderr)
|
||||||
|
print(' --lsblk lsblk parser', file=sys.stderr)
|
||||||
|
print(' --mount mount parser', file=sys.stderr)
|
||||||
|
print(' --netstat netstat parser', file=sys.stderr)
|
||||||
|
print(' --ps ps parser', file=sys.stderr)
|
||||||
|
print(' --route route parser', file=sys.stderr)
|
||||||
|
print(' --uname uname parser\n', file=sys.stderr)
|
||||||
|
print('Options:', file=sys.stderr)
|
||||||
|
print(' -p pretty print output\n', file=sys.stderr)
|
||||||
|
print('Example:', file=sys.stderr)
|
||||||
|
print(' ls -al | jc --ls -p\n', file=sys.stderr)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
if sys.stdin.isatty():
|
||||||
|
print('jc: missing piped data\n', file=sys.stderr)
|
||||||
|
helptext()
|
||||||
|
exit()
|
||||||
|
|
||||||
data = sys.stdin.read()
|
data = sys.stdin.read()
|
||||||
pretty = False
|
pretty = False
|
||||||
|
|
||||||
|
# options
|
||||||
if '-p' in sys.argv:
|
if '-p' in sys.argv:
|
||||||
pretty = True
|
pretty = True
|
||||||
|
|
||||||
|
# parsers
|
||||||
if '--df' in sys.argv:
|
if '--df' in sys.argv:
|
||||||
result = jc.parsers.df.parse(data)
|
result = jc.parsers.df.parse(data)
|
||||||
|
|
||||||
@ -64,25 +92,8 @@ def main():
|
|||||||
result = jc.parsers.uname.parse(data)
|
result = jc.parsers.uname.parse(data)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print('jc: missing arguments\n', file=sys.stderr)
|
print('jc: missing or incorrect arguments\n', file=sys.stderr)
|
||||||
print('Usage: jc [parser] [options]\n', file=sys.stderr)
|
helptext()
|
||||||
print('Parsers:', file=sys.stderr)
|
|
||||||
print(' --df df parser', file=sys.stderr)
|
|
||||||
print(' --env env parser', file=sys.stderr)
|
|
||||||
print(' --free free parser', file=sys.stderr)
|
|
||||||
print(' --ifconfig iconfig parser', file=sys.stderr)
|
|
||||||
print(' --iptables iptables parser', file=sys.stderr)
|
|
||||||
print(' --ls ls parser', file=sys.stderr)
|
|
||||||
print(' --lsblk lsblk parser', file=sys.stderr)
|
|
||||||
print(' --mount mount parser', file=sys.stderr)
|
|
||||||
print(' --netstat netstat parser', file=sys.stderr)
|
|
||||||
print(' --ps ps parser', file=sys.stderr)
|
|
||||||
print(' --route route parser', file=sys.stderr)
|
|
||||||
print(' --uname uname parser\n', file=sys.stderr)
|
|
||||||
print('Options:', file=sys.stderr)
|
|
||||||
print(' -p pretty print output\n', file=sys.stderr)
|
|
||||||
print('Example:', file=sys.stderr)
|
|
||||||
print(' ls -al | jc --ls -p\n', file=sys.stderr)
|
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
# output resulting dictionary as json
|
# output resulting dictionary as json
|
||||||
|
Reference in New Issue
Block a user