summaryrefslogtreecommitdiff
path: root/src/mailman_pgp/model/db_key.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/model/db_key.py')
-rw-r--r--src/mailman_pgp/model/db_key.py14
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)