summaryrefslogtreecommitdiff
path: root/examples-for-debugging/get_data.py
blob: 1bf8ca9b8b04fdd18d8fcad57a08d9c5ad55c027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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)