Skip to content

Instantly share code, notes, and snippets.

View atamurad's full-sized avatar

Atamurad Hezretkuliyev atamurad

View GitHub Profile
@atamurad
atamurad / gist:1282243
Created October 12, 2011 19:23
Recurly.js signature implementation in Python
import hashlib
import hmac
def digest_data(data):
if type(data) == list:
return "[%s]" % (",".join([digest_data(v) for v in data if v]))
elif type(data) == dict:
kvs = sorted(data.items(), lambda x,y: cmp(x[0],y[0]))
def prefix(key):
return "" if type(key) == int else "%s:" % key
@atamurad
atamurad / gist:1062584
Created July 3, 2011 20:41
mutex with redis
def acquire(name):
tries = 0
while True:
tries += 1
if tries >= 30:
raise Exception("Couldn't acquire lock on mutex "+name)
try:
n = r.incr("lock-"+name)
if n == 1:
return True