739291ed6a6e6444c12366d515cca4930b4fdd91
[gpgme.git] / lang / python / examples / simple.py
1 #!/usr/bin/env python3
2 # $Id$
3 # Copyright (C) 2005 Igor Belyi <belyi@users.sourceforge.net>
4 # Copyright (C) 2002 John Goerzen <jgoerzen@complete.org>
5 #
6 #    This program is free software; you can redistribute it and/or modify
7 #    it under the terms of the GNU General Public License as published by
8 #    the Free Software Foundation; either version 2 of the License, or
9 #    (at your option) any later version.
10 #
11 #    This program is distributed in the hope that it will be useful,
12 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #    GNU General Public License for more details.
15 #
16 #    You should have received a copy of the GNU General Public License
17 #    along with this program; if not, write to the Free Software
18 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20 import sys
21 from pyme import core, constants, errors
22 import pyme.constants.validity
23
24 core.check_version(None)
25
26 # Set up our input and output buffers.
27
28 plain = core.Data(b'This is my message.')
29 cipher = core.Data()
30
31 # Initialize our context.
32
33 c = core.Context()
34 c.set_armor(1)
35
36 # Set up the recipients.
37
38 sys.stdout.write("Enter name of your recipient: ")
39 sys.stdout.flush()
40 name = sys.stdin.readline().strip()
41 c.op_keylist_start(name.encode(), 0)
42 r = c.op_keylist_next()
43
44 if r == None:
45     print("The key for user \"%s\" was not found" % name)
46 else:
47     # Do the encryption.
48     try:
49         c.op_encrypt([r], 1, plain, cipher)
50         cipher.seek(0,0)
51         print(cipher.read())
52     except errors.GPGMEError as ex:
53         print(ex.getstring())