aboutsummaryrefslogtreecommitdiffstats
path: root/tagit/widgets
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-01-13 09:49:10 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-01-13 09:49:10 +0100
commit9c366758665d9cfee7796ee45a8167a5412ae9ae (patch)
treeb42e0a1fd4b1bd59fc31fad6267b83c2dc9a3a3b /tagit/widgets
parent8f2f697f7ed52b7e1c7a17411b2de526b6490691 (diff)
downloadtagit-9c366758665d9cfee7796ee45a8167a5412ae9ae.tar.gz
tagit-9c366758665d9cfee7796ee45a8167a5412ae9ae.tar.bz2
tagit-9c366758665d9cfee7796ee45a8167a5412ae9ae.zip
filter early port, parsing adaptions
Diffstat (limited to 'tagit/widgets')
-rw-r--r--tagit/widgets/filter.py13
-rw-r--r--tagit/widgets/session.py4
2 files changed, 14 insertions, 3 deletions
diff --git a/tagit/widgets/filter.py b/tagit/widgets/filter.py
index 0152737..332ad34 100644
--- a/tagit/widgets/filter.py
+++ b/tagit/widgets/filter.py
@@ -23,7 +23,7 @@ import kivy.properties as kp
# tagit imports
from tagit import config
#from tagit.parsing.search import ast, ast_to_string # FIXME: mb/port
-from tagit.utils import errors
+from tagit.utils import bsfs, errors
# inner-module imports
from .session import ConfigAwareMixin
@@ -108,6 +108,10 @@ class Filter(BoxLayout, ConfigAwareMixin):
## exposed methods
def get_query(self):
+ query = bsfs.ast.filter.And(self.t_head[:]) if len(self.t_head) > 0 else None
+ sort = None
+ return query, sort
+ # FIXME: mb/port.parsing
query = ast.AND(self.t_head[:]) if len(self.t_head) else None
# sort order is always set to False so that changing the sort order
# won't trigger a new query which can be very expensive. The sort
@@ -116,6 +120,8 @@ class Filter(BoxLayout, ConfigAwareMixin):
return query, sort
def abbreviate(self, token):
+ return 'T'
+ # FIXME: mb/port/parsing
if token.predicate() == 'tag':
return ','.join(list(token.condition()))
elif token.predicate() == 'entity':
@@ -162,8 +168,9 @@ class Filter(BoxLayout, ConfigAwareMixin):
if self.changed:
self.redraw()
# issue search
- if self.run_search:
- self.root.trigger('Search')
+ # FIXME: mb/port/parsing
+ #if self.run_search:
+ # self.root.trigger('Search')
def redraw(self):
self.tokens.clear_widgets()
diff --git a/tagit/widgets/session.py b/tagit/widgets/session.py
index a7c7355..ca8c595 100644
--- a/tagit/widgets/session.py
+++ b/tagit/widgets/session.py
@@ -14,6 +14,7 @@ from kivy.uix.widget import Widget
import kivy.properties as kp
# tagit imports
+from tagit import parsing
from tagit.config.loader import load_settings
#from tagit.storage.broker import Broker # FIXME: mb/port
#from tagit.storage.loader import load_broker, load_log # FIXME: mb/port
@@ -38,6 +39,9 @@ class Session(Widget):
self.cfg = cfg
self.storage = storage
self.log = log
+ # derived members
+ self.filter_from_string = parsing.Filter(self.storage.schema)
+ #self.sort_from_string = parsing.Sort(self.storage.schema) # FIXME: mb/port/parsing
def __enter__(self):
return self