Remove DeprecationWarning of "decodestring()"

When running "tox -e py35", it shows:
DeprecationWarning: decodestring() is a deprecated alias, use decodebytes()

This patch helps to remove this deprecation warning by
replacing "base64.decodestring" with "oslo_serialization.base64.decode_as_bytes".
The same has been done for nova:
https://review.openstack.org/#/c/610401/

Change-Id: Ib3f7fc4392ca53e92ee2e421b95874dc97f04e5f
This commit is contained in:
Vu Cong Tuan 2018-11-02 14:37:39 +07:00
parent 7f034e0d55
commit 70a79d7b45
1 changed files with 2 additions and 4 deletions

View File

@ -18,11 +18,11 @@ Internal implementation of request Body validating middleware.
"""
import base64
import re
import jsonschema
from jsonschema import exceptions as jsonschema_exc
from oslo_serialization import base64
from oslo_utils import strutils
from oslo_utils import timeutils
from oslo_utils import uuidutils
@ -199,9 +199,7 @@ def _validate_base64_format(instance):
try:
if isinstance(instance, six.text_type):
instance = instance.encode('utf-8')
base64.decodestring(instance)
except base64.binascii.Error:
return False
base64.decode_as_bytes(instance)
except TypeError:
# The name must be string type. If instance isn't string type, the
# TypeError will be raised at here.