From 8366ceb8964b948b53be2d07171b146fff039acf Mon Sep 17 00:00:00 2001 From: prculley Date: Wed, 7 Nov 2018 10:12:18 -0600 Subject: [PATCH] Allow filters/rules via plugin without fail on restart --- gramps/gen/filters/__init__.py | 13 ++----------- gramps/gen/filters/rules/test/person_rules_test.py | 3 ++- gramps/gui/viewmanager.py | 2 ++ gramps/test/test_util.py | 2 ++ 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/gramps/gen/filters/__init__.py b/gramps/gen/filters/__init__.py index 572553104..7c39072b9 100644 --- a/gramps/gen/filters/__init__.py +++ b/gramps/gen/filters/__init__.py @@ -22,7 +22,6 @@ Package providing filtering framework for Gramps. """ -#SystemFilters = None CustomFilters = None from ..const import CUSTOM_FILTERS @@ -32,18 +31,10 @@ from ._genericfilter import (GenericFilter, GenericFilterFactory, from ._paramfilter import ParamFilter from ._searchfilter import SearchFilter, ExactSearchFilter -#def reload_system_filters(): - #global SystemFilters - #SystemFilters = FilterList(SYSTEM_FILTERS) - #SystemFilters.load() - def reload_custom_filters(): global CustomFilters CustomFilters = FilterList(CUSTOM_FILTERS) CustomFilters.load() -#if not SystemFilters: - #reload_system_filters() - -if not CustomFilters: - reload_custom_filters() +# if not CustomFilters: # moved to viewmanager + # reload_custom_filters() diff --git a/gramps/gen/filters/rules/test/person_rules_test.py b/gramps/gen/filters/rules/test/person_rules_test.py index 0547a1432..e758f3123 100644 --- a/gramps/gen/filters/rules/test/person_rules_test.py +++ b/gramps/gen/filters/rules/test/person_rules_test.py @@ -17,7 +17,6 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -from ....filters.rules.person._matchidof import MatchIdOf """ Unittest that tests person-specific filter rules @@ -27,6 +26,8 @@ import os from time import perf_counter import inspect +from ....filters import reload_custom_filters +reload_custom_filters() from ....db.utils import import_as_dict from ....filters import GenericFilter, CustomFilters from ....const import DATA_DIR diff --git a/gramps/gui/viewmanager.py b/gramps/gui/viewmanager.py index 540cd219b..6b4ee269f 100644 --- a/gramps/gui/viewmanager.py +++ b/gramps/gui/viewmanager.py @@ -100,6 +100,7 @@ from gramps.gui.editors import (EditPerson, EditFamily, EditMedia, EditNote, EditPlace, EditSource, EditRepository, EditCitation, EditEvent) from gramps.gen.db.exceptions import DbWriteFailure +from gramps.gen.filters import reload_custom_filters from .managedwindow import ManagedWindow #------------------------------------------------------------------------- @@ -195,6 +196,7 @@ class ViewManager(CLIManager): self.__connect_signals() self.do_reg_plugins(self.dbstate, self.uistate) + reload_custom_filters() #plugins loaded now set relationship class self.rel_class = get_relationship_calculator() self.uistate.set_relationship_class() diff --git a/gramps/test/test_util.py b/gramps/test/test_util.py index 365e8fdcb..300220ee9 100644 --- a/gramps/test/test_util.py +++ b/gramps/test/test_util.py @@ -37,6 +37,8 @@ from gramps.cli.grampscli import CLIManager from gramps.cli.argparser import ArgParser from gramps.cli.arghandler import ArgHandler from gramps.gen.const import USER_DIRLIST +from gramps.gen.filters import reload_custom_filters +reload_custom_filters() # so reports with filter options don't fail # _caller_context is primarily here to support and document the process # of determining the test-module's directory.