diff options
Diffstat (limited to 'examples-for-debugging')
| -rw-r--r-- | examples-for-debugging/controller_stuff | 29 | ||||
| -rw-r--r-- | examples-for-debugging/get_data.py | 91 |
2 files changed, 120 insertions, 0 deletions
diff --git a/examples-for-debugging/controller_stuff b/examples-for-debugging/controller_stuff new file mode 100644 index 0000000..f945b63 --- /dev/null +++ b/examples-for-debugging/controller_stuff @@ -0,0 +1,29 @@ +def insert_new_from_log(self, **kwargs): + try: + session = self.Session() + entry_data = { + 'last_accessed': kwargs["last_accessed"], + 'address': kwargs['address'], + 'times_accessed': 1, + 'times_dumped': 0, + 'deleted': 0 + } + session.add(Iasdfus(**entry_data)) + session.commit() + session.close() + except Exception as e: + self.log_error("Unable to commit database entry") + self.log_error(str(e)) + + def update_existing(self, last_accessed=None, address=None, logfile=None): + session = self.Session() + results = session.query(Iasdfus).filter_by(**{'address': address}) + if results.count() == 0: + session.close() + return False + if last_accessed > results[0].last_accessed: + results.update({"last_accessed": last_accessed}) + results.update({"times_accessed": results[0].times_accessed + 1}) + session.commit() + session.close() + return True 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) |
