summaryrefslogtreecommitdiff
path: root/archivist/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'archivist/model.py')
-rw-r--r--archivist/model.py25
1 files changed, 1 insertions, 24 deletions
diff --git a/archivist/model.py b/archivist/model.py
index d1ef6c7..fd1bec3 100644
--- a/archivist/model.py
+++ b/archivist/model.py
@@ -8,7 +8,7 @@ from enum import Enum, unique
from pkg_resources import resource_filename
from .prefixes import query_pseudo_prefix
-from .closure import ClosureTable
+from .peewee_ext import ClosureTable, EnumField
db = SqliteExtDatabase('test.db', pragmas=[('foreign_keys', 'ON')])
db.load_extension(resource_filename(__name__, 'sqlext/closure'))
@@ -31,29 +31,6 @@ class BaseModel(Model):
class Meta:
database = db
-class EnumField(Field):
- db_field = 'enum'
-
- def __init__(self, enum_class, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.enum_class = enum_class
-
- def _enum_value(self, value):
- return self.enum_class(int(value))
-
- def db_value(self, value):
- if value is None:
- return value
-
- if isinstance(value, self.enum_class):
- return value.value
-
- # force check of enum value
- return self._enum_value(value).value
-
- def python_value(self, value):
- return value if value is None else self._enum_value(value)
-
@table
class Document(BaseModel):
@unique