aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/gpg/callbacks.py
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <[email protected]>2016-10-28 20:45:49 +0000
committerJustus Winter <[email protected]>2016-10-31 14:42:27 +0000
commit2fac017618a76882605125b05ff1f7393fe99860 (patch)
treeb7eddc17682b6aa91b8c3c723a2fc02f28ac0a6c /lang/python/gpg/callbacks.py
parentcore: New API functions gpgme_set_sender, gpgme_get_sender. (diff)
downloadgpgme-2fac017618a76882605125b05ff1f7393fe99860.tar.gz
gpgme-2fac017618a76882605125b05ff1f7393fe99860.zip
python: Rename Python module from PyME to gpg.
This follows weeks of discussion on the gnupg-devel mailing list. Hopefully it will make it easier for people using Python to use GnuPG in the future. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
Diffstat (limited to 'lang/python/gpg/callbacks.py')
-rw-r--r--lang/python/gpg/callbacks.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/lang/python/gpg/callbacks.py b/lang/python/gpg/callbacks.py
new file mode 100644
index 00000000..b25a9a74
--- /dev/null
+++ b/lang/python/gpg/callbacks.py
@@ -0,0 +1,49 @@
+# Copyright (C) 2004 Igor Belyi <[email protected]>
+# Copyright (C) 2002 John Goerzen <[email protected]>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from __future__ import absolute_import, print_function, unicode_literals
+del absolute_import, print_function, unicode_literals
+
+from getpass import getpass
+
+def passphrase_stdin(hint, desc, prev_bad, hook=None):
+ """This is a sample callback that will read a passphrase from
+ the terminal. The hook here, if present, will be used to describe
+ why the passphrase is needed."""
+ why = ''
+ if hook != None:
+ why = ' ' + hook
+ if prev_bad:
+ why += ' (again)'
+ print("Please supply %s' password%s:" % (hint, why))
+ return getpass()
+
+def progress_stdout(what, type, current, total, hook=None):
+ print("PROGRESS UPDATE: what = %s, type = %d, current = %d, total = %d" %\
+ (what, type, current, total))
+
+def readcb_fh(count, hook):
+ """A callback for data. hook should be a Python file-like object."""
+ if count:
+ # Should return '' on EOF
+ return hook.read(count)
+ else:
+ # Wants to rewind.
+ if not hasattr(hook, 'seek'):
+ return None
+ hook.seek(0, 0)
+ return None