30 lines
801 B
Python
Executable file
30 lines
801 B
Python
Executable file
#!/usr/bin/env python3
|
|
# Eryn Wells <eryn@erynwells.me>
|
|
|
|
'''
|
|
Pretty prints the JSON object from stdin.
|
|
'''
|
|
|
|
import argparse
|
|
import json
|
|
import pprint
|
|
import sys
|
|
|
|
def parse_args(argv, *a, **kw):
|
|
parser = argparse.ArgumentParser(*a, **kw)
|
|
parser.add_argument('-j', '--json', action='store_const', const='js', dest='type')
|
|
parser.add_argument('-p', '--python', action='store_const', const='py', dest='type')
|
|
args = parser.parse_args(argv)
|
|
return args
|
|
|
|
def main(argv):
|
|
args = parse_args(argv[1:], prog=argv[0])
|
|
if not args.type or args.type == 'js':
|
|
print(json.dumps(json.load(sys.stdin), indent=2))
|
|
else:
|
|
pprint.pprint(eval(sys.stdin.read()))
|
|
|
|
if __name__ == '__main__':
|
|
import sys
|
|
result = main(sys.argv)
|
|
sys.exit(0 if not result else result)
|