From e6c39f983691a37d3d996f22b3a74e874ef9a3ec Mon Sep 17 00:00:00 2001 From: Hanxi Liu Date: Thu, 24 Nov 2016 23:40:59 +0800 Subject: [PATCH] Use flatten_dict_to_keypairs instead of recursive_keypairs flatten_dict_to_keypairs has been added to oslo.utils in 3.18.0. So We should use it to replace recursive_keypairs. Change-Id: I2b407114cba62ef636870994e5da875fcec3301e --- kwapi/security.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/kwapi/security.py b/kwapi/security.py index 22f1a94..42ace22 100644 --- a/kwapi/security.py +++ b/kwapi/security.py @@ -18,22 +18,13 @@ import hashlib import hmac - - -def recursive_keypairs(d): - """Generator that produces sequence of keypairs for nested dictionaries.""" - for name, value in sorted(d.iteritems()): - if isinstance(value, dict): - for subname, subvalue in recursive_keypairs(value): - yield ('%s:%s' % (name, subname), subvalue) - else: - yield name, value +from oslo.utils import dictutils def compute_signature(message, secret): """Returns the signature for a message dictionary.""" digest_maker = hmac.new(secret, '', hashlib.sha256) - for name, value in recursive_keypairs(message): + for name, value in dictutils.flatten_dict_to_keypairs(message, ':'): if name == 'message_signature': continue digest_maker.update(name)