diff options
Diffstat (limited to '')
-rw-r--r-- | archivist/virtual_prefixes.py (renamed from archivist/prefixes.py) | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/archivist/prefixes.py b/archivist/virtual_prefixes.py index 5e28207..632e3cf 100644 --- a/archivist/prefixes.py +++ b/archivist/virtual_prefixes.py @@ -16,26 +16,26 @@ def register_prefixes(): def _create_prefixes(): from .model import Document - FieldPseudoPrefix('direction', 'In- or outgoing', Document.direction) - FieldPseudoPrefix('date', 'Date of creation', Document.created) - FieldPseudoPrefix('mime', 'Mime Type', Document.mimetype) - ContainsFieldPseudoPrefix('name', 'Name/description of document', Document.name) + FieldVirtualPrefix('direction', 'In- or outgoing', Document.direction) + FieldVirtualPrefix('date', 'Date of creation', Document.created) + FieldVirtualPrefix('mime', 'Mime Type', Document.mimetype) + ContainsFieldVirtualPrefix('name', 'Name/description of document', Document.name) for part in ('day', 'month', 'year'): - FieldPartPseudoPrefix(part, part.capitalize() + ' of creation', Document.created, part) + FieldPartVirtualPrefix(part, part.capitalize() + ' of creation', Document.created, part) -def query_pseudo_prefix(prefix, value): +def query(prefix, value): register_prefixes() if prefix in prefixes: return prefixes[prefix].as_query(value) return None -def is_pseudo_prefix(prefix): +def is_virtual(prefix): register_prefixes() return prefix in prefixes -class PseudoPrefix: +class VirtualPrefix: def __init__(self, name, description, accessor): self.name = name self.accessor = accessor @@ -54,7 +54,7 @@ class PseudoPrefix: def as_query(self, value): raise NotImplementedError -class FieldPseudoPrefix(PseudoPrefix): +class FieldVirtualPrefix(VirtualPrefix): def __init__(self, name, description, field): self._field = field super().__init__(name, description, lambda doc: getattr(doc, field.name)) @@ -62,11 +62,11 @@ class FieldPseudoPrefix(PseudoPrefix): def as_query(self, value): return self._field == value -class ContainsFieldPseudoPrefix(FieldPseudoPrefix): +class ContainsFieldVirtualPrefix(FieldVirtualPrefix): def as_query(self, value): return self._field.contains(value) -class FieldPartPseudoPrefix(PseudoPrefix): +class FieldPartVirtualPrefix(VirtualPrefix): def __init__(self, name, description, field, part): self._field = field self._field_part = getattr(field, part) |