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)
 |