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
This commit is contained in:
Hanxi Liu 2016-11-24 23:40:59 +08:00
parent 7409f5a458
commit e6c39f9836
1 changed files with 2 additions and 11 deletions

View File

@ -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)