summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2017-03-12 16:38:44 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2017-03-12 17:08:37 +0100
commit8c8d9f51685b3b172a8d23d3c0c01d53351c6d80 (patch)
tree9c75a69aa65db0e092cb7b017673d17c6fb5cf2e
parent577085c1660f9584d224b89e41324e5433d479a8 (diff)
downloadarchivist-8c8d9f51685b3b172a8d23d3c0c01d53351c6d80.tar.gz
archivist-8c8d9f51685b3b172a8d23d3c0c01d53351c6d80.tar.bz2
archivist-8c8d9f51685b3b172a8d23d3c0c01d53351c6d80.zip
Pseudo -> Virtual
-rw-r--r--archivist/cli.py15
-rw-r--r--archivist/model.py1
-rw-r--r--archivist/virtual_prefixes.py (renamed from archivist/prefixes.py)22
3 files changed, 18 insertions, 20 deletions
diff --git a/archivist/cli.py b/archivist/cli.py
index 833cb80..1c13952 100644
--- a/archivist/cli.py
+++ b/archivist/cli.py
@@ -2,7 +2,7 @@ import click
from functools import reduce
import operator as op
-from .prefixes import query_pseudo_prefix, is_pseudo_prefix
+from .virtual_prefixes import query as query_virtual, is_virtual, register_prefixes
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
@@ -26,7 +26,6 @@ def db():
def init():
"""Initialize the database, if not done already."""
from .model import create_tables, db
- from .prefixes import register_prefixes
create_tables()
with db.atomic():
register_prefixes()
@@ -114,11 +113,11 @@ class PrefixTag:
return prefix_tag_name(self.tag, self.prefix)
def is_virtual(self):
- return self.prefix and is_pseudo_prefix(self.prefix)
+ return self.prefix and is_virtual(self.prefix)
@property
def virtual_query(self):
- return query_pseudo_prefix(self.prefix, self.tag)
+ return query_virtual(self.prefix, self.tag)
def __str__(self):
return self.prefixed_name()
@@ -256,12 +255,12 @@ def add_doc(file, tags, create_tags, ignore_missing_tags):
def find_doc(tags):
from .model import Document, DocumentTag, TagClosure, Tag
- pseudo_tags = []
+ virtual_tags = []
normal_tags = []
for t in tags:
if t.is_virtual():
- pseudo_tags.append(t)
+ virtual_tags.append(t)
else:
normal_tags.append(t)
@@ -279,8 +278,8 @@ def find_doc(tags):
query = query.where(Document.id << tag_query)
- if pseudo_tags:
- query = query.where(reduce(op.and_, (p.virtual_query for p in pseudo_tags)))
+ if virtual_tags:
+ query = query.where(reduce(op.and_, (p.virtual_query for p in virtual_tags)))
for doc in query.iterator():
print("* ID %d -- %s" % (doc.id, doc.original_path))
diff --git a/archivist/model.py b/archivist/model.py
index 56ef89e..f03927e 100644
--- a/archivist/model.py
+++ b/archivist/model.py
@@ -7,7 +7,6 @@ import datetime
from enum import Enum, unique
from pkg_resources import resource_filename
-from .prefixes import query_pseudo_prefix
from .peewee_ext import EnumField
from .peewee_fixes import * # dummy to force evaluation of those fixes
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)