summaryrefslogtreecommitdiff
path: root/Pb_Api/__init__.py
blob: 25f78dde9972f91ea7da92346d17949544464b58 (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
import urllib
import urllib2
import sys
import random
import simplejson as json
import urllib2

class Pb_Api:
    def __init__(self):
        self._required_keys = []
        self.url = ""
    def new(self, params):
        for k in self._required_keys:
            if not k in params:
                params[k] = "";
        self.current_params = params
        return json.loads(post_request(self.url, self.current_params))
    def post_request(self, url, params):
        params = urllib.urlencode(params)
        sys.stderr.write(params)
        sys.stderr.write(url)
        headers = {
            "Content-type": "application/x-www-form-urlencoded",
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36",
            "Accept": "text/plain"
        }
        try:
            req = urllib2.Request(url, params, headers)
            response = urllib2.urlopen(req)
            return response.read()
        except Exception as e:
            sys.stderr.write(str(e))
            raise 
    def call(self, params):  
        return json.loads(self.post_request(self.url, params.as_hash()))