Change GPG.sign() to handle files and strings, make _sign_file() private.
parent
6c0370efaa
commit
22e0443dcc
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue