mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-17 01:32:37 +02:00
clean up arg parsing
This commit is contained in:
43
jc/jc.py
43
jc/jc.py
@ -14,33 +14,42 @@ import jc.parsers.route
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
pretty = False
|
|
||||||
data = sys.stdin.read()
|
data = sys.stdin.read()
|
||||||
|
pretty = False
|
||||||
|
|
||||||
if len(sys.argv) < 2:
|
if '-p' in sys.argv:
|
||||||
print('Error: jc')
|
|
||||||
print(' Must specify parser. (e.g. --ls, --netstat, --ifconfig, etc.)')
|
|
||||||
print(' Use -p to pretty print')
|
|
||||||
print('Example: ls -al | jc --ls -p\n')
|
|
||||||
exit()
|
|
||||||
|
|
||||||
arg = sys.argv[1]
|
|
||||||
|
|
||||||
if len(sys.argv) > 2:
|
|
||||||
if sys.argv[2] == '-p':
|
|
||||||
pretty = True
|
pretty = True
|
||||||
|
|
||||||
if arg == '--ifconfig':
|
if '--ifconfig' in sys.argv:
|
||||||
result = jc.parsers.ifconfig.parse(data)
|
result = jc.parsers.ifconfig.parse(data)
|
||||||
elif arg == '--ls':
|
|
||||||
|
elif '--ls' in sys.argv:
|
||||||
result = jc.parsers.ls.parse(data)
|
result = jc.parsers.ls.parse(data)
|
||||||
elif arg == '--netstat':
|
|
||||||
|
elif '--netstat' in sys.argv:
|
||||||
result = jc.parsers.netstat.parse(data)
|
result = jc.parsers.netstat.parse(data)
|
||||||
elif arg == '--ps':
|
|
||||||
|
elif '--ps' in sys.argv:
|
||||||
result = jc.parsers.ps.parse(data)
|
result = jc.parsers.ps.parse(data)
|
||||||
elif arg == '--route':
|
|
||||||
|
elif '--route' in sys.argv:
|
||||||
result = jc.parsers.route.parse(data)
|
result = jc.parsers.route.parse(data)
|
||||||
|
|
||||||
|
else:
|
||||||
|
print('jc: missing arguments', file=sys.stderr)
|
||||||
|
print('Usage: jc [parser] [options]\n', file=sys.stderr)
|
||||||
|
print('Parsers:', file=sys.stderr)
|
||||||
|
print(' --ifconfig iconfig parser', file=sys.stderr)
|
||||||
|
print(' --ls ls parser', file=sys.stderr)
|
||||||
|
print(' --netstat netstat parser', file=sys.stderr)
|
||||||
|
print(' --ps ps parser', file=sys.stderr)
|
||||||
|
print(' --route route 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 -p --ls\n', file=sys.stderr)
|
||||||
|
exit()
|
||||||
|
|
||||||
# output resulting dictionary as json
|
# output resulting dictionary as json
|
||||||
if pretty:
|
if pretty:
|
||||||
print(json.dumps(result, indent=2))
|
print(json.dumps(result, indent=2))
|
||||||
|
Reference in New Issue
Block a user