diff options
Diffstat (limited to '')
-rw-r--r-- | lang/py3-pyme/examples/t-edit.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/lang/py3-pyme/examples/t-edit.py b/lang/py3-pyme/examples/t-edit.py new file mode 100644 index 00000000..24d36d32 --- /dev/null +++ b/lang/py3-pyme/examples/t-edit.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# $Id$ +# Copyright (C) 2005 Igor Belyi <[email protected]> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import os +from pyme import core +from pyme.core import Data, Context + +core.check_version(None) + +class KeyEditor: + def __init__(self): + self.steps = ["fpr", "expire", "1", "primary", "quit"] + self.step = 0 + + def edit_fnc(self, status, args, out): + print("[-- Response --]") + out.seek(0,0) + print(out.read(), end=' ') + print("[-- Code: %d, %s --]" % (status, args)) + + if args == "keyedit.prompt": + result = self.steps[self.step] + self.step += 1 + elif args == "keyedit.save.okay": + result = "Y" + elif args == "keygen.valid": + result = "0" + else: + result = None + + return result + +if not os.getenv("GNUPGHOME"): + print("Please, set GNUPGHOME env.var. pointing to GPGME's tests/gpg dir") +else: + c = Context() + c.set_passphrase_cb(lambda x,y,z: "abc") + out = Data() + c.op_keylist_start("Alpha", 0) + key = c.op_keylist_next() + c.op_edit(key, KeyEditor().edit_fnc, out, out) + print("[-- Last response --]") + out.seek(0,0) + print(out.read(), end=' ') |