summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2017-10-04 00:29:40 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2017-10-04 00:29:40 +0200
commit4bd7160a182bf0175b0b6a46c298375c38e2df69 (patch)
tree66d0133809cab0567f0eabd4d1062a670d2248ad
parent4427fea489c74158b0c6f33451ec74282f3a2c7e (diff)
downloadarchivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.tar.gz
archivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.tar.bz2
archivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.zip
Move CompressedField to peewee_ext.py
-rw-r--r--archivist/model.py10
-rw-r--r--archivist/peewee_ext.py8
2 files changed, 9 insertions, 9 deletions
diff --git a/archivist/model.py b/archivist/model.py
index d660218..2d9476a 100644
--- a/archivist/model.py
+++ b/archivist/model.py
@@ -1,5 +1,4 @@
from peewee import *
-from playhouse.fields import CompressedField as _CompressedField
from playhouse.hybrid import *
from playhouse.sqlite_ext import SqliteExtDatabase, ClosureTable
@@ -9,7 +8,7 @@ import datetime
from enum import Enum, unique
from pkg_resources import resource_filename
-from .peewee_ext import EnumField, SQLIndex
+from .peewee_ext import EnumField, CompressedField, SQLIndex
from .peewee_fixes import * # dummy to force evaluation of those fixes
db = SqliteExtDatabase('test.db', pragmas=[('foreign_keys', 'ON')])
@@ -56,13 +55,6 @@ class BaseModel(Model):
class Meta:
database = db
-class CompressedField(_CompressedField):
- def db_value(self, value):
- return value if value is None else self.compress(value)
-
- def python_value(self, value):
- return value if value is None else self.decompress(value)
-
@table
class DocumentContent(BaseModel):
blob = CompressedField()
diff --git a/archivist/peewee_ext.py b/archivist/peewee_ext.py
index ff03861..edcb9c9 100644
--- a/archivist/peewee_ext.py
+++ b/archivist/peewee_ext.py
@@ -1,4 +1,5 @@
from peewee import Field, SQL
+from playhouse.fields import CompressedField as _CompressedField
from itertools import starmap
from functools import reduce
@@ -10,6 +11,13 @@ def sqlite_tuple_in(fields, values):
subqueries = (reduce(op.and_, starmap(op.eq, zip(fields, value_tuple))) for value_tuple in values)
return reduce(op.or_, subqueries)
+class CompressedField(_CompressedField):
+ def db_value(self, value):
+ return value if value is None else self.compress(value)
+
+ def python_value(self, value):
+ return value if value is None else self.decompress(value)
+
class EnumField(Field):
db_field = 'enum'