Change GPG.sign() to handle files and strings, make _sign_file() private.

feature/documentation-builds-html
Isis Lovecruft 2013-04-15 00:56:49 +00:00
parent 6c0370efaa
commit 22e0443dcc
No known key found for this signature in database
GPG Key ID: A3ADB67A2CDB8B35
1 changed files with 19 additions and 8 deletions

View File

@ -423,16 +423,27 @@ class GPG(object):
# SIGNATURE METHODS # SIGNATURE METHODS
# #
def sign(self, message, **kwargs): def sign(self, message, **kwargs):
"""sign message""" """Create a signature for a message or file."""
f = _make_binary_stream(message, self.encoding) if isinstance(message, file):
result = self.sign_file(f, **kwargs) result = self._sign_file(message, **kwargs)
f.close() elif not util._is_stream(message):
if isinstance(message, str):
if not util._py3k:
message = unicode(message, self.encoding)
message = message.encode(self.encoding)
f = _make_binary_stream(message, self.encoding)
result = self._sign_file(f, **kwargs)
f.close()
else:
logger.error("Unable to sign message '%s' with type %s"
% (message, type(message)))
result = None
return result return result
def sign_file(self, file, keyid=None, passphrase=None, clearsign=True, def _sign_file(self, file, keyid=None, passphrase=None, clearsign=True,
detach=False, binary=False): detach=False, binary=False):
"""sign file""" """Create a signature for a file."""
logger.debug("sign_file: %s", file) logger.debug("GPG._sign_file(): %s", file)
if binary: if binary:
args = ['-s'] args = ['-s']
else: else: