diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2017-10-04 00:29:40 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2017-10-04 00:29:40 +0200 |
commit | 4bd7160a182bf0175b0b6a46c298375c38e2df69 (patch) | |
tree | 66d0133809cab0567f0eabd4d1062a670d2248ad /archivist/peewee_ext.py | |
parent | 4427fea489c74158b0c6f33451ec74282f3a2c7e (diff) | |
download | archivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.tar.gz archivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.tar.bz2 archivist-4bd7160a182bf0175b0b6a46c298375c38e2df69.zip |
Move CompressedField to peewee_ext.py
Diffstat (limited to 'archivist/peewee_ext.py')
-rw-r--r-- | archivist/peewee_ext.py | 8 |
1 files changed, 8 insertions, 0 deletions
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' |