/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to breezy/gpg.py

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
import os
23
23
import sys
24
 
from StringIO import StringIO
25
24
 
26
 
from bzrlib.lazy_import import lazy_import
 
25
from breezy.lazy_import import lazy_import
27
26
lazy_import(globals(), """
28
27
import errno
29
28
import subprocess
30
29
 
31
 
from bzrlib import (
 
30
from breezy import (
32
31
    config,
33
32
    errors,
34
33
    trace,
35
34
    ui,
36
35
    )
37
 
from bzrlib.i18n import (
38
 
    gettext, 
 
36
from breezy.i18n import (
 
37
    gettext,
39
38
    ngettext,
40
39
    )
41
40
""")
42
41
 
43
 
from bzrlib.symbol_versioning import (
 
42
from .sixish import (
 
43
    BytesIO,
 
44
    )
 
45
from .symbol_versioning import (
44
46
    deprecated_in,
45
47
    deprecated_method,
46
48
    )
175
177
    else:
176
178
        # This is not quite worthy of a warning, because some people
177
179
        # don't need GPG_TTY to be set. But it is worthy of a big mark
178
 
        # in ~/.bzr.log, so that people can debug it if it happens to them
 
180
        # in ~/.brz.log, so that people can debug it if it happens to them
179
181
        trace.mutter('** Env var TTY empty, cannot set GPG_TTY.'
180
182
                     '  Is TTY exported?')
181
183
 
190
192
        try:
191
193
            import gpgme
192
194
            self.context = gpgme.Context()
193
 
        except ImportError, error:
 
195
        except ImportError as error:
194
196
            pass # can't use verify()
195
197
 
196
198
    @staticmethod
203
205
        try:
204
206
            import gpgme
205
207
            return True
206
 
        except ImportError, error:
 
208
        except ImportError as error:
207
209
            return False
208
210
 
209
211
    def _command_line(self):
236
238
                if process.returncode != 0:
237
239
                    raise errors.SigningFailed(self._command_line())
238
240
                return result
239
 
            except OSError, e:
 
241
            except OSError as e:
240
242
                if e.errno == errno.EPIPE:
241
243
                    raise errors.SigningFailed(self._command_line())
242
244
                else:
244
246
        except ValueError:
245
247
            # bad subprocess parameters, should never happen.
246
248
            raise
247
 
        except OSError, e:
 
249
        except OSError as e:
248
250
            if e.errno == errno.ENOENT:
249
251
                # gpg is not installed
250
252
                raise errors.SigningFailed(self._command_line())
261
263
        """
262
264
        try:
263
265
            import gpgme
264
 
        except ImportError, error:
 
266
        except ImportError as error:
265
267
            raise errors.GpgmeNotInstalled(error)
266
268
 
267
 
        signature = StringIO(content)
268
 
        plain_output = StringIO()
 
269
        signature = BytesIO(content)
 
270
        plain_output = BytesIO()
269
271
        try:
270
272
            result = self.context.verify(signature, None, plain_output)
271
 
        except gpgme.GpgmeError,error:
 
273
        except gpgme.GpgmeError as error:
272
274
            raise errors.SignatureVerificationFailed(error[2])
273
275
 
274
276
        # No result if input is invalid.