From 95d0c71827502f6e5ab0f5280176d07725073858 Mon Sep 17 00:00:00 2001 From: Jocelyn Delalande Date: Wed, 29 Mar 2017 15:31:28 +0200 Subject: [PATCH] Use propper base64 encoding version for py3 Removes py3-only warning (this alias might be removed in future py3 version): > DeprecationWarning: encodestring() is a deprecated alias, use encodebytes() > ('%s:%s' % (username, password)).encode('utf-8')).decode('utf-8').replace('\n', '') py2-compatible change. --- budget/tests.py | 4 ++-- budget/utils.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/budget/tests.py b/budget/tests.py index 50c01ae6..854c07b0 100644 --- a/budget/tests.py +++ b/budget/tests.py @@ -5,7 +5,6 @@ try: except ImportError: import unittest # NOQA -import base64 import os import json from collections import defaultdict @@ -17,6 +16,7 @@ from flask import session import run import models +import utils class TestCase(unittest.TestCase): @@ -759,7 +759,7 @@ class APITestCase(TestCase): def get_auth(self, username, password=None): password = password or username - base64string = base64.encodestring( + base64string = utils.base64_encode( ('%s:%s' % (username, password)).encode('utf-8')).decode('utf-8').replace('\n', '') return {"Authorization": "Basic %s" % base64string} diff --git a/budget/utils.py b/budget/utils.py index f518049c..0e6251b2 100644 --- a/budget/utils.py +++ b/budget/utils.py @@ -1,3 +1,4 @@ +import base64 import re import inspect @@ -120,3 +121,6 @@ def list_of_dicts2csv(dict_to_convert): if six.PY3: csv_file = BytesIO(csv_file.getvalue().encode('utf-8')) return csv_file + +# base64 encoding that works with both py2 and py3 and yield no warning +base64_encode = base64.encodestring if six.PY2 else base64.encodebytes