diff options
Diffstat (limited to 'lang/python/examples/simple.py')
| -rwxr-xr-x | lang/python/examples/simple.py | 53 | 
1 files changed, 53 insertions, 0 deletions
| diff --git a/lang/python/examples/simple.py b/lang/python/examples/simple.py new file mode 100755 index 00000000..faa0f4cd --- /dev/null +++ b/lang/python/examples/simple.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +# $Id$ +# Copyright (C) 2005 Igor Belyi <[email protected]> +# Copyright (C) 2002 John Goerzen <[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 sys +import os +from pyme import core, errors + +core.check_version(None) + +# Set up our input and output buffers. + +plain = core.Data('This is my message.') +cipher = core.Data() + +# Initialize our context. + +c = core.Context() +c.set_armor(1) + +# Set up the recipients. + +sys.stdout.write("Enter name of your recipient: ") +sys.stdout.flush() +name = sys.stdin.readline().strip() +c.op_keylist_start(name, 0) +r = c.op_keylist_next() + +if r == None: +    print("The key for user \"%s\" was not found" % name) +else: +    # Do the encryption. +    try: +        c.op_encrypt([r], 1, plain, cipher) +        cipher.seek(0, os.SEEK_SET) +        sys.stdout.buffer.write(cipher.read()) +    except errors.GPGMEError as ex: +        print(ex.getstring()) | 
