def hash_args(*args, **kwargs):
 arg_string = '_'.join([str(arg) for arg in args])
 kwarg_string = '_'.join([((str(key) + '=') + str(value)) for (key, value) in iteritems(kwargs)])
 combined = ':'.join([arg_string, kwarg_string])
 hasher = md5()
 hasher.update(b(combined))
 return hasher.hexdigest()

def hash_args ( * args , ** kwargs ) : arg_string = '_' . join ( [ str ( arg ) for arg in args ] ) kwarg_string = '_' . join ( [ ( ( str ( key ) + '=' ) + str ( value ) ) for ( key , value ) in iteritems ( kwargs ) ] ) combined = ':' . join ( [ arg_string , kwarg_string ] ) hasher = md5 ( ) hasher . update ( b ( combined ) ) return hasher . hexdigest ( )
define a unique string for any set of representable args .