Advertisement
joric

Mt.Gox coupon code redeeming script (redeem.py)

Dec 25th, 2011
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. import sys
  2. from urllib import urlencode
  3. import urllib2
  4. import time
  5. from hashlib import sha512
  6. from hmac import HMAC
  7. import base64
  8. import json
  9.  
  10. from mtgox_config import *
  11.  
  12. def get_nonce():
  13.     return int(time.time()*100000)
  14.  
  15. def sign_data(secret, data):
  16.     return base64.b64encode(str(HMAC(secret, data, sha512).digest()))
  17.      
  18. class requester:
  19.     def __init__(self, auth_key, auth_secret):
  20.         self.auth_key = auth_key
  21.         self.auth_secret = base64.b64decode(auth_secret)
  22.        
  23.     def build_query(self, req={}):
  24.         req["nonce"] = get_nonce()
  25.         post_data = urlencode(req)
  26.         headers = {}
  27.         headers["User-Agent"] = "GoxApi"
  28.         headers["Rest-Key"] = self.auth_key
  29.         headers["Rest-Sign"] = sign_data(self.auth_secret, post_data)
  30.         return (post_data, headers)
  31.        
  32.     def perform(self, path, args):
  33.         data, headers = self.build_query(args)
  34.         req = urllib2.Request("https://mtgox.com/api/0/"+path, data, headers)
  35.         res = urllib2.urlopen(req, data)
  36.         return json.load(res)
  37.  
  38. def redeem(code):
  39.     r = requester(MTGOX_API_KEY, MTGOX_API_SECRET)
  40.     return r.perform("redeemCode.php", {'code' : code})
  41.  
  42. if __name__=='__main__':
  43.     if len(sys.argv) < 2:
  44.         print "Usage: redeem.py <mtgox redeem code>"
  45.     else:
  46.         print redeem(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement