diff options
| author | Matthias Baumgartner <dev@igsor.net> | 2023-02-02 10:04:03 +0100 |
|---|---|---|
| committer | Matthias Baumgartner <dev@igsor.net> | 2023-02-02 10:04:03 +0100 |
| commit | c6856aa6fe2ad478dd5bc6285fb2544c150b2033 (patch) | |
| tree | b084d75afbca13c34f2b71b609fd2c63a160522d /tagit/actions | |
| parent | 57327d3df562736cad9e278e13beeb55bf3b52ed (diff) | |
| download | tagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.tar.gz tagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.tar.bz2 tagit-c6856aa6fe2ad478dd5bc6285fb2544c150b2033.zip | |
filter port
Diffstat (limited to 'tagit/actions')
| -rw-r--r-- | tagit/actions/__init__.py | 4 | ||||
| -rw-r--r-- | tagit/actions/filter.py | 20 |
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 |
