diff options
| author | pepperpepperpepper <pepper@scannerjammer.com> | 2015-11-27 23:54:26 -0800 |
|---|---|---|
| committer | pepperpepperpepper <pepper@scannerjammer.com> | 2015-11-27 23:54:26 -0800 |
| commit | 4fd71a291f52267e435ecaebe6b0c4f97c918883 (patch) | |
| tree | cc01bd840701166e86029a89758d3b1988c45307 /examples-for-debugging/get_data.py | |
| parent | 11a45143e555fbb5e651f5538a82d046661882a4 (diff) | |
great, rewrote gallery
Diffstat (limited to 'examples-for-debugging/get_data.py')
| -rw-r--r-- | examples-for-debugging/get_data.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/examples-for-debugging/get_data.py b/examples-for-debugging/get_data.py new file mode 100644 index 0000000..1bf8ca9 --- /dev/null +++ b/examples-for-debugging/get_data.py @@ -0,0 +1,91 @@ +#!/usr/bin/python2.7 +import requests, sys +import re +import simplejson as json +URL_BASE = "http://asdf.us/im" + +IMAGES_I_LIKE = [ + "http://i.asdf.us/im/29/imgrid_1347748334_xx_abridged___pepper.png", + "http://i.asdf.us/im/af/imGrid_1435899447_dmgk.png", + "http://i.asdf.us/im/da/imGrid_1435899431_dmgk.png", +# "http://i.asdf.us/im/e1/Over_1435899330_dmgk.png", +# "http://i.asdf.us/im/49/imGrid_1435898499_dmgk.png", +# "http://i.asdf.us/im/dd/imGradientyellow-blue_1435898433_.png", +] + + +def post_request(url, data): + r = requests.post(url, data=data) + if r.status_code != 200: + sys.stderr.write("ERROR: %s\n" % r.status_code) + sys.stderr.write("REASON: %s\n" % r.reason) + sys.exit(1) + return json.loads(r.text) + + +def get_request(url, params={}): + r = requests.get(url, params=params) + if r.status_code != 200: + sys.stderr.write("ERROR: %s\n" % r.status_code) + sys.stderr.write("REASON: %s\n" % r.reason) + sys.exit(1) + try: + return json.loads(r.text) + except Exception as e: + sys.stderr.write("%s\n" % r.text) + sys.stderr.write("%s\n" % e) + + +def get_api(api_name, params): + return get_request("%s/%s" % (URL_BASE, api_name), params=params) + + +def parse_newfile(url): + try: + return re.search(r'/([^/]+)$', i).groups()[0] + except IndexError: + return "" + + +class Backtracker(object): + def __init__(self): + self.bob = 0 + self.mama = 4 + self.setup() + def setup(self): + self.mama -= 1 + self.bob += 1 + if self.mama == 0: + return + else: + self.setup() + +friend = Backtracker(); +print friend.bob +def backtrack(url): + data_history = [] + bob = 0 + def recurse_back(url): + print parse_newfile(url) + bob += 1 + print bob + api_data = get_api("data", {"newfile": parse_newfile(url)}) + if not api_data: + return + else: + print "found api data" + data_history.append(api_data) + for element in api_data: + element_data = element.get("data") + next_url = element_data.get("url") or element_data.get("imageinstead") + if next_url: + print "searching for this url %s\n" % next_url.get("url") + recurse_back(next_url.get("url")) + else: + return + recurse_back(url) + return data_history + +if __name__ == "__main__": + for i in IMAGES_I_LIKE: + print backtrack(i) |
