from log import say_exception import sys class Object(object): pass def uint32(x): return x & 0xffffffffL def bytereverse(x): return uint32(( ((x) << 24) | (((x) << 8) & 0x00ff0000) | (((x) >> 8) & 0x0000ff00) | ((x) >> 24) )) def bytearray_to_uint32(x): return uint32(((x[3]) << 24) | ((x[2]) << 16) | ((x[1]) << 8) | x[0]) def belowOrEquals(hash_, target): for i in xrange(len(hash_) - 1, -1, -1): reversed_ = bytereverse(hash_[i]) if reversed_ < target[i]: return True elif reversed_ > target[i]: return False return True def chunks(l, n): for i in xrange(0, len(l), n): yield l[i:i+n] def tokenize(option, name, default=[0], cast=int): if option: try: return [cast(x) for x in option.split(',')] except ValueError: say_exception('Invalid %s(s) specified: %s\n\n' % (name, option)) sys.exit() return default