Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions pgpy/_curves.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,31 +44,31 @@ def use_legacy_cryptography_decorator():

if use_legacy_cryptography_decorator():
@utils.register_interface(ec.EllipticCurve)
class BrainpoolP256R1(object):
class BrainpoolP256R1:
name = 'brainpoolP256r1'
key_size = 256


@utils.register_interface(ec.EllipticCurve) # noqa: E303
class BrainpoolP384R1(object):
class BrainpoolP384R1:
name = 'brainpoolP384r1'
key_size = 384


@utils.register_interface(ec.EllipticCurve) # noqa: E303
class BrainpoolP512R1(object):
class BrainpoolP512R1:
name = 'brainpoolP512r1'
key_size = 512


@utils.register_interface(ec.EllipticCurve) # noqa: E303
class X25519(object):
class X25519:
name = 'X25519'
key_size = 256


@utils.register_interface(ec.EllipticCurve) # noqa: E303
class Ed25519(object):
class Ed25519:
name = 'ed25519'
key_size = 256
else:
Expand Down
9 changes: 4 additions & 5 deletions pgpy/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@


def classproperty(fget):
class ClassProperty(object):
class ClassProperty:
def __init__(self, fget):
self.fget = fget
self.__doc__ = fget.__doc__
Expand Down Expand Up @@ -69,18 +69,17 @@ def setter(self, fset):
return SDProperty(fget, sdmethod(defset))


class KeyAction(object):
class KeyAction:
def __init__(self, *usage, **conditions):
super(KeyAction, self).__init__()
super().__init__()
self.flags = set(usage)
self.conditions = conditions

@contextlib.contextmanager
def usage(self, key, user):
def _preiter(first, iterable):
yield first
for item in iterable:
yield item
yield from iterable

em = {}
em['keyid'] = key.fingerprint.keyid
Expand Down
76 changes: 35 additions & 41 deletions pgpy/packet/fields.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
""" fields.py
"""
from __future__ import absolute_import, division

import abc
import binascii
Expand Down Expand Up @@ -107,7 +106,7 @@ class SubPackets(collections_abc.MutableMapping, Field):
_spmodule = signature

def __init__(self):
super(SubPackets, self).__init__()
super().__init__()
self._hashed_sp = collections.OrderedDict()
self._unhashed_sp = collections.OrderedDict()

Expand Down Expand Up @@ -135,8 +134,7 @@ def __len__(self): # pragma: no cover
return sum(sp.header.length for sp in itertools.chain(self._hashed_sp.values(), self._unhashed_sp.values())) + 4

def __iter__(self):
for sp in itertools.chain(self._hashed_sp.values(), self._unhashed_sp.values()):
yield sp
yield from itertools.chain(self._hashed_sp.values(), self._unhashed_sp.values())

def __setitem__(self, key, val):
# the key provided should always be the classname for the subpacket
Expand Down Expand Up @@ -174,7 +172,7 @@ def __delitem__(self, key):
raise NotImplementedError

def __contains__(self, key):
return key in set(k for k, _ in itertools.chain(self._hashed_sp, self._unhashed_sp))
return key in {k for k, _ in itertools.chain(self._hashed_sp, self._unhashed_sp)}

def __copy__(self):
sp = SubPackets()
Expand Down Expand Up @@ -267,7 +265,7 @@ def from_signer(self, sig):

class OpaqueSignature(Signature):
def __init__(self):
super(OpaqueSignature, self).__init__()
super().__init__()
self.data = bytearray()

def __bytearray__(self):
Expand Down Expand Up @@ -380,11 +378,10 @@ class PubKey(MPIs):

@property
def __mpis__(self):
for i in self.__pubfields__:
yield i
yield from self.__pubfields__

def __init__(self):
super(PubKey, self).__init__()
super().__init__()
for field in self.__pubfields__:
if isinstance(field, tuple): # pragma: no cover
field, val = field
Expand Down Expand Up @@ -415,7 +412,7 @@ def verify(self, subj, sigbytes, hash_alg):

class OpaquePubKey(PubKey): # pragma: no cover
def __init__(self):
super(OpaquePubKey, self).__init__()
super().__init__()
self.data = bytearray()

def __iter__(self):
Expand Down Expand Up @@ -553,7 +550,7 @@ class ECDSAPub(PubKey):
__pubfields__ = ('p',)

def __init__(self):
super(ECDSAPub, self).__init__()
super().__init__()
self.oid = None

def __len__(self):
Expand All @@ -569,7 +566,7 @@ def __bytearray__(self):
return _b

def __copy__(self):
pkt = super(ECDSAPub, self).__copy__()
pkt = super().__copy__()
pkt.oid = self.oid
return pkt

Expand Down Expand Up @@ -599,7 +596,7 @@ class EdDSAPub(PubKey):
__pubfields__ = ('p', )

def __init__(self):
super(EdDSAPub, self).__init__()
super().__init__()
self.oid = None

def __len__(self):
Expand All @@ -615,7 +612,7 @@ def __pubkey__(self):
return ed25519.Ed25519PublicKey.from_public_bytes(self.p.x)

def __copy__(self):
pkt = super(EdDSAPub, self).__copy__()
pkt = super().__copy__()
pkt.oid = self.oid
return pkt

Expand Down Expand Up @@ -650,7 +647,7 @@ class ECDHPub(PubKey):
__pubfields__ = ('p',)

def __init__(self):
super(ECDHPub, self).__init__()
super().__init__()
self.oid = None
self.kdf = ECKDF()

Expand All @@ -671,7 +668,7 @@ def __bytearray__(self):
return _b

def __copy__(self):
pkt = super(ECDHPub, self).__copy__()
pkt = super().__copy__()
pkt.oid = self.oid
pkt.kdf = copy.copy(self.kdf)
return pkt
Expand Down Expand Up @@ -876,7 +873,7 @@ def count_int(self, val):
self._count = val

def __init__(self):
super(String2Key, self).__init__()
super().__init__()
self.usage = 0
self.encalg = 0
self.specifier = 0
Expand Down Expand Up @@ -1019,7 +1016,7 @@ def derive_key(self, passphrase):
keylen = self.encalg.key_size
hashlen = self.halg.digest_size * 8

ctx = int(math.ceil((keylen / hashlen)))
ctx = int(math.ceil(keylen / hashlen))

# Simple S2K - always done
hsalt = b''
Expand Down Expand Up @@ -1092,7 +1089,7 @@ def encalg_int(self, val):
self._encalg = SymmetricKeyAlgorithm(val)

def __init__(self):
super(ECKDF, self).__init__()
super().__init__()
self.halg = 0
self.encalg = 0

Expand Down Expand Up @@ -1143,14 +1140,11 @@ class PrivKey(PubKey):

@property
def __mpis__(self):
for i in super(PrivKey, self).__mpis__:
yield i

for i in self.__privfields__:
yield i
yield from super().__mpis__
yield from self.__privfields__

def __init__(self):
super(PrivKey, self).__init__()
super().__init__()

self.s2k = String2Key()
self.encbytes = bytearray()
Expand All @@ -1161,7 +1155,7 @@ def __init__(self):

def __bytearray__(self):
_bytes = bytearray()
_bytes += super(PrivKey, self).__bytearray__()
_bytes += super().__bytearray__()

_bytes += self.s2k.__bytearray__()
if self.s2k:
Expand All @@ -1177,7 +1171,7 @@ def __bytearray__(self):
return _bytes

def __len__(self):
nbytes = super(PrivKey, self).__len__() + len(self.s2k) + len(self.chksum)
nbytes = super().__len__() + len(self.s2k) + len(self.chksum)
if self.s2k:
nbytes += len(self.encbytes)

Expand All @@ -1187,7 +1181,7 @@ def __len__(self):
return nbytes

def __copy__(self):
pk = super(PrivKey, self).__copy__()
pk = super().__copy__()
pk.s2k = copy.copy(self.s2k)
pk.encbytes = copy.copy(self.encbytes)
pk.chksum = copy.copy(self.chksum)
Expand All @@ -1205,7 +1199,7 @@ def _compute_chksum(self):
"Calculate the key checksum"

def publen(self):
return super(PrivKey, self).__len__()
return super().__len__()

def encrypt_keyblob(self, passphrase, enc_alg, hash_alg):
# PGPy will only ever use iterated and salted S2k mode
Expand Down Expand Up @@ -1332,7 +1326,7 @@ def _generate(self, key_size):
self._compute_chksum()

def parse(self, packet):
super(RSAPriv, self).parse(packet)
super().parse(packet)
self.s2k.parse(packet)

if not self.s2k:
Expand All @@ -1350,7 +1344,7 @@ def parse(self, packet):
self.encbytes = packet

def decrypt_keyblob(self, passphrase):
kb = super(RSAPriv, self).decrypt_keyblob(passphrase)
kb = super().decrypt_keyblob(passphrase)
del passphrase

self.d = MPI(kb)
Expand Down Expand Up @@ -1398,7 +1392,7 @@ def _generate(self, key_size):
self._compute_chksum()

def parse(self, packet):
super(DSAPriv, self).parse(packet)
super().parse(packet)
self.s2k.parse(packet)

if not self.s2k:
Expand All @@ -1412,7 +1406,7 @@ def parse(self, packet):
del packet[:2]

def decrypt_keyblob(self, passphrase):
kb = super(DSAPriv, self).decrypt_keyblob(passphrase)
kb = super().decrypt_keyblob(passphrase)
del passphrase

self.x = MPI(kb)
Expand All @@ -1439,7 +1433,7 @@ def _generate(self, key_size):
raise NotImplementedError(PubKeyAlgorithm.ElGamal)

def parse(self, packet):
super(ElGPriv, self).parse(packet)
super().parse(packet)
self.s2k.parse(packet)

if not self.s2k:
Expand All @@ -1453,7 +1447,7 @@ def parse(self, packet):
del packet[:2]

def decrypt_keyblob(self, passphrase):
kb = super(ElGPriv, self).decrypt_keyblob(passphrase)
kb = super().decrypt_keyblob(passphrase)
del passphrase

self.x = MPI(kb)
Expand Down Expand Up @@ -1490,7 +1484,7 @@ def _generate(self, oid):
self._compute_chksum()

def parse(self, packet):
super(ECDSAPriv, self).parse(packet)
super().parse(packet)
self.s2k.parse(packet)

if not self.s2k:
Expand All @@ -1504,7 +1498,7 @@ def parse(self, packet):
self.encbytes = packet

def decrypt_keyblob(self, passphrase):
kb = super(ECDSAPriv, self).decrypt_keyblob(passphrase)
kb = super().decrypt_keyblob(passphrase)
del passphrase
self.s = MPI(kb)

Expand Down Expand Up @@ -1543,7 +1537,7 @@ def _generate(self, oid):
self._compute_chksum()

def parse(self, packet):
super(EdDSAPriv, self).parse(packet)
super().parse(packet)
self.s2k.parse(packet)

if not self.s2k:
Expand All @@ -1556,7 +1550,7 @@ def parse(self, packet):
self.encbytes = packet

def decrypt_keyblob(self, passphrase):
kb = super(EdDSAPriv, self).decrypt_keyblob(passphrase)
kb = super().decrypt_keyblob(passphrase)
del passphrase
self.s = MPI(kb)

Expand Down Expand Up @@ -1640,7 +1634,7 @@ def sign(self, sigdata, hash_alg):

class CipherText(MPIs):
def __init__(self):
super(CipherText, self).__init__()
super().__init__()
for i in self.__mpis__:
setattr(self, i, MPI(0))

Expand Down Expand Up @@ -1773,7 +1767,7 @@ def decrypt(self, pk, *args):
return padder.update(_m) + padder.finalize()

def __init__(self):
super(ECDHCipherText, self).__init__()
super().__init__()
self.c = bytearray(0)

def __bytearray__(self):
Expand Down
Loading