diff options
Diffstat (limited to 'src/mailman_pgp/model/db_key.py')
| -rw-r--r-- | src/mailman_pgp/model/db_key.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mailman_pgp/model/db_key.py b/src/mailman_pgp/model/db_key.py index 45eafc7..0b3af45 100644 --- a/src/mailman_pgp/model/db_key.py +++ b/src/mailman_pgp/model/db_key.py @@ -16,6 +16,7 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """Database stored PGP key.""" +from public import public from sqlalchemy import Column, Integer, LargeBinary from sqlalchemy.orm import reconstructor @@ -23,15 +24,18 @@ from mailman_pgp.model.base import Base from mailman_pgp.utils.pgp import key_from_blob +@public class DBKey(Base): """Database stored PGP key.""" __tablename__ = 'keys' id = Column(Integer, primary_key=True) - key_material = Column(LargeBinary) + _key_material = Column('key_material', LargeBinary) - def __init__(self): + def __init__(self, key=None): super().__init__() + self._init() + self.key = key @reconstructor def _init(self): @@ -40,14 +44,14 @@ class DBKey(Base): @property def key(self): if self._key is None: - self._key = key_from_blob(self.key_material) + self._key = key_from_blob(self._key_material) return self._key @key.setter def key(self, value): if value is None: self._key = None - self.key_material = bytes() + self._key_material = bytes() else: self._key = value - self.key_material = bytes(value) + self._key_material = bytes(value) |
