Skip to content

Commit

Permalink
Add Python version since deprecation in base64 methods. (#33) (#430)
Browse files Browse the repository at this point in the history
Allow developers to not have to either test on N Python versions or
looked through multiple versions of the docs to know whether they can
easily update.

(cherry picked from commit c643a96)
  • Loading branch information
berkerpeksag authored Mar 3, 2017
1 parent 0ad7b62 commit d0620bc
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 6 deletions.
17 changes: 13 additions & 4 deletions Doc/library/base64.rst
Original file line number Diff line number Diff line change
Expand Up @@ -237,14 +237,18 @@ The legacy interface:


.. function:: decodebytes(s)
decodestring(s)

Decode the :term:`bytes-like object` *s*, which must contain one or more
lines of base64 encoded data, and return the decoded :class:`bytes`.
``decodestring`` is a deprecated alias.

.. versionadded:: 3.1

.. function:: decodestring(s)

Deprecated alias of :func:`decodebytes`.

.. deprecated:: 3.1


.. function:: encode(input, output)

Expand All @@ -257,14 +261,19 @@ The legacy interface:


.. function:: encodebytes(s)
encodestring(s)

Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary
data, and return :class:`bytes` containing the base64-encoded data, with newlines
(``b'\n'``) inserted after every 76 bytes of output, and ensuring that
there is a trailing newline, as per :rfc:`2045` (MIME).

``encodestring`` is a deprecated alias.
.. versionadded:: 3.1

.. function:: encodestring(s)

Deprecated alias of :func:`encodebytes`.

.. deprecated:: 3.1


An example usage of the module:
Expand Down
6 changes: 4 additions & 2 deletions Lib/base64.py
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,8 @@ def encodebytes(s):
def encodestring(s):
"""Legacy alias of encodebytes()."""
import warnings
warnings.warn("encodestring() is a deprecated alias, use encodebytes()",
warnings.warn("encodestring() is a deprecated alias since 3.1, "
"use encodebytes()",
DeprecationWarning, 2)
return encodebytes(s)

Expand All @@ -555,7 +556,8 @@ def decodebytes(s):
def decodestring(s):
"""Legacy alias of decodebytes()."""
import warnings
warnings.warn("decodestring() is a deprecated alias, use decodebytes()",
warnings.warn("decodestring() is a deprecated alias since Python 3.1, "
"use decodebytes()",
DeprecationWarning, 2)
return decodebytes(s)

Expand Down
8 changes: 8 additions & 0 deletions Lib/test/test_base64.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ def check_type_errors(self, f):
int_data = memoryview(b"1234").cast('I')
self.assertRaises(TypeError, f, int_data)

def test_encodestring_warns(self):
with self.assertWarns(DeprecationWarning):
base64.encodestring(b"www.python.org")

def test_decodestring_warns(self):
with self.assertWarns(DeprecationWarning):
base64.decodestring(b"d3d3LnB5dGhvbi5vcmc=\n")

def test_encodebytes(self):
eq = self.assertEqual
eq(base64.encodebytes(b"www.python.org"), b"d3d3LnB5dGhvbi5vcmc=\n")
Expand Down

0 comments on commit d0620bc

Please sign in to comment.