Refactor _make_binary_stream() error handling and variable names.

master^2
Isis Lovecruft 2015-03-19 00:12:21 +00:00
parent da59707945
commit 4f1b1f6a8d
No known key found for this signature in database
GPG Key ID: 18C16EC5F9F1D673
1 changed files with 14 additions and 13 deletions

View File

@ -531,25 +531,26 @@ def _is_gpg2(version):
return True return True
return False return False
def _make_binary_stream(s, encoding=None): def _make_binary_stream(thing, encoding=None, armor=True):
"""Encode **s**, then make it stream/file-like. """Encode **thing**, then make it stream/file-like.
:param s: The thing to turn into a encoded stream. :param thing: The thing to turn into a encoded stream.
:rtype: ``io.BytesIO`` or ``io.StringIO``. :rtype: ``io.BytesIO`` or ``io.StringIO``.
:returns: The encoded **thing**, wrapped in an ``io.BytesIO`` (if :returns: The encoded **thing**, wrapped in an ``io.BytesIO`` (if
available), otherwise wrapped in a ``io.StringIO``. available), otherwise wrapped in a ``io.StringIO``.
""" """
if _py3k:
if isinstance(thing, str):
thing = thing.encode(encoding)
else:
if type(thing) is not str:
thing = thing.encode(encoding)
try: try:
if _py3k: rv = BytesIO(thing)
if isinstance(s, str): except NameError:
s = s.encode(encoding) rv = StringIO(thing)
else:
if type(s) is not str:
s = s.encode(encoding)
from io import BytesIO
rv = BytesIO(s)
except ImportError:
rv = StringIO(s)
return rv return rv
def _make_passphrase(length=None, save=False, file=None): def _make_passphrase(length=None, save=False, file=None):