Created
October 10, 2017 18:40
-
-
Save stripedpurple/21c1320a5d491c2be99a46743a776d9e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import sys, json, urllib2 | |
def search (info, key): | |
if type(info) == dict: | |
for k, v in info.iteritems(): | |
if (type(v) == dict or type(v) == list) and k != key: | |
search(v, key) | |
elif k == key: | |
print str(v) | |
return str(v) | |
elif type(info) == list: | |
for v in info: | |
if type(v) == dict or type(v) == list: | |
search(v, key) | |
def full_str (info, query_str): | |
query_str = query_str.split('.') | |
res = info | |
for i in query_str: | |
res = res[i] | |
return res | |
def help (): | |
print "Blind search:\t" + sys.argv[0] + "search <key>" | |
print "Specific keys:\n\t" + sys.argv[0] + " <key>\n\tOR\n\t" + sys.argv[0] + " <key.key.key>" | |
if __name__ == "__main__": | |
arg_len = len(sys.argv) | |
if arg_len < 2: | |
print "Error: Option missing\n" | |
help() | |
exit() | |
else: | |
try: | |
request = urllib2.urlopen('http://192.168.1.90:8888/api/v1').read() | |
parsed_json = json.loads(request) | |
except: | |
print "Error: Unable to reach api" | |
exit(1) | |
if arg_len == 2 and (sys.argv[1] == "-h" or sys.argv[1] == "help"): | |
help() | |
elif arg_len == 2 and (sys.argv[1] != "-h" or sys.argv[1] != "help"): | |
print str(full_str(parsed_json, sys.argv[1])) | |
elif sys.argv[1] == "search" or sys.argv[1] == "-s": | |
search(parsed_json, sys.argv[2]) | |
exit() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment