aboutsummaryrefslogtreecommitdiffstats
path: root/tagit/actions
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-02-02 10:04:03 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-02-02 10:04:03 +0100
commitc6856aa6fe2ad478dd5bc6285fb2544c150b2033 (patch)
treeb084d75afbca13c34f2b71b609fd2c63a160522d /tagit/actions
parent57327d3df562736cad9e278e13beeb55bf3b52ed (diff)
downloadtagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.tar.gz
tagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.tar.bz2
tagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.zip
filter port
Diffstat (limited to 'tagit/actions')
-rw-r--r--tagit/actions/__init__.py4
-rw-r--r--tagit/actions/filter.py20
2 files changed, 9 insertions, 15 deletions
diff --git a/tagit/actions/__init__.py b/tagit/actions/__init__.py
index fa2bed0..b2ab6bd 100644
--- a/tagit/actions/__init__.py
+++ b/tagit/actions/__init__.py
@@ -64,8 +64,8 @@ class ActionBuilder(BuilderBase):
'GoBack': filter.GoBack,
'GoForth': filter.GoForth,
'JumpToToken': filter.JumpToToken,
- #'SearchByAddressOnce': filter.SearchByAddressOnce,
- #'SearchmodeSwitch': filter.SearchmodeSwitch,
+ 'SearchByAddressOnce': filter.SearchByAddressOnce,
+ 'SearchmodeSwitch': filter.SearchmodeSwitch,
## grouping
'CreateGroup': grouping.CreateGroup,
'DissolveGroup': grouping.DissolveGroup,
diff --git a/tagit/actions/filter.py b/tagit/actions/filter.py
index e878952..c5cc912 100644
--- a/tagit/actions/filter.py
+++ b/tagit/actions/filter.py
@@ -13,11 +13,10 @@ import kivy.properties as kp
# tagit imports
from tagit import config, dialogues
-from tagit.utils import errors, Frame
+from tagit.utils import errors, ns, Frame
+from tagit.utils.bsfs import ast
from tagit.widgets import Binding
from tagit.widgets.filter import FilterAwareMixin
-#from tagit.parsing.search import ast_to_string, ast # FIXME: mb/port
-#from tagit.storage.base import ns # FIXME: mb/port
# inner-module imports
from .action import Action
@@ -91,16 +90,13 @@ class AddToken(Action):
def apply(self, token=None):
if token is None:
- #sugg = {node.label for node in self.root.session.storage.all(ns.tagit.storage.base.Tag)}
- # FIXME: mb/port/bsfs
- #sugg = set(self.root.session.storage.all(ns.bsfs.Tag).label())
- sugg = {'hello', 'world'}
+ sugg = self.root.session.storage.all(ns.bsfs.Tag).label(node=False)
dlg = dialogues.TokenEdit(suggestions=sugg)
dlg.bind(on_ok=lambda wx: self.add_from_string(wx.text))
dlg.open()
elif isinstance(token, str):
self.add_from_string(token)
- elif isinstance(token, ast.ASTNode):
+ elif isinstance(token, ast.filter.FilterExpression):
self.add_token([token])
def add_from_string(self, text):
@@ -129,10 +125,8 @@ class EditToken(Action):
text = kp.StringProperty('Edit token')
def apply(self, token):
- #sugg = {node.label for node in self.root.session.storage.all(ns.tagit.storage.base.Tag)} # FIXME: mb/port
- sugg = {'hello', 'world'} # FIXME: mb/port
- #text = ast_to_string(token)
- text = 'hello world'
+ sugg = self.root.session.storage.all(ns.bsfs.Tag).label(node=False)
+ text = self.root.session.filter_to_string(token)
dlg = dialogues.TokenEdit(text=text, suggestions=sugg)
dlg.bind(on_ok=lambda obj: self.on_ok(token, obj))
dlg.open()
@@ -140,7 +134,7 @@ class EditToken(Action):
def on_ok(self, token, obj):
with self.root.filter as filter:
try:
- tokens_from_text = self.root.session.filter_from_string(obj.text) # FIXME: mb/port
+ tokens_from_text = self.root.session.filter_from_string(obj.text)
except errors.ParserError as e:
dialogues.Error(text=f'Invalid token: {e}').open()
return