From db201a8aa9a6a5d2bb3d147ae475a43b6baa11e9 Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 13 Jun 2023 10:48:35 -0500 Subject: [PATCH 1/8] Apply changes --- spyder_kernels/utils/nsview.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spyder_kernels/utils/nsview.py b/spyder_kernels/utils/nsview.py index c19927f8..14d32153 100644 --- a/spyder_kernels/utils/nsview.py +++ b/spyder_kernels/utils/nsview.py @@ -589,7 +589,8 @@ def is_callable_or_module(value): def globalsfilter(input_dict, check_all=False, filters=None, exclude_private=None, exclude_capitalized=None, exclude_uppercase=None, exclude_unsupported=None, - excluded_names=None, exclude_callables_and_modules=None): + excluded_names=None, exclude_callables_and_modules=None, + filter_on=False): """Keep objects in namespace view according to different criteria.""" output_dict = {} def _is_string(obj): @@ -605,7 +606,7 @@ def _is_string(obj): (exclude_callables_and_modules and is_callable_or_module(value)) or (exclude_unsupported and not is_supported(value, check_all=check_all, filters=filters)) - ) + ) and filter_on if not excluded: output_dict[key] = value return output_dict @@ -617,7 +618,8 @@ def _is_string(obj): REMOTE_SETTINGS = ('check_all', 'exclude_private', 'exclude_uppercase', 'exclude_capitalized', 'exclude_unsupported', 'excluded_names', 'minmax', 'show_callable_attributes', - 'show_special_attributes', 'exclude_callables_and_modules') + 'show_special_attributes', 'exclude_callables_and_modules', + 'filter_on') def get_supported_types(): @@ -673,7 +675,7 @@ def get_remote_data(data, settings, mode, more_excluded_names=None): exclude_capitalized=settings['exclude_capitalized'], exclude_unsupported=settings['exclude_unsupported'], exclude_callables_and_modules=settings['exclude_callables_and_modules'], - excluded_names=excluded_names) + excluded_names=excluded_names, filter_on=settings['filter_on']) def make_remote_view(data, settings, more_excluded_names=None): From fd7a942a49376aa05006907314dab37b93f66c2f Mon Sep 17 00:00:00 2001 From: jsbautista Date: Mon, 19 Jun 2023 10:41:23 -0500 Subject: [PATCH 2/8] Apply changes --- spyder_kernels/console/tests/test_console_kernel.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index d7efae21..76ccbedd 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -227,7 +227,8 @@ def kernel(request): 'False_', 'True_' ], - 'minmax': False + 'minmax': False, + 'filter_on':True } # Teardown From b1bc8c1f85e2893fdc9521281ea9d0f398ed5454 Mon Sep 17 00:00:00 2001 From: jsbautista <42411448+jsbautista@users.noreply.github.com> Date: Mon, 10 Jul 2023 18:17:07 -0500 Subject: [PATCH 3/8] Update spyder_kernels/utils/nsview.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Daniel Althviz Moré --- spyder_kernels/utils/nsview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spyder_kernels/utils/nsview.py b/spyder_kernels/utils/nsview.py index 14d32153..d7e0ce5a 100644 --- a/spyder_kernels/utils/nsview.py +++ b/spyder_kernels/utils/nsview.py @@ -590,7 +590,7 @@ def globalsfilter(input_dict, check_all=False, filters=None, exclude_private=None, exclude_capitalized=None, exclude_uppercase=None, exclude_unsupported=None, excluded_names=None, exclude_callables_and_modules=None, - filter_on=False): + filter_on=True): """Keep objects in namespace view according to different criteria.""" output_dict = {} def _is_string(obj): From 59795419841379854d7671f64e41ccc24e673611 Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 11 Jul 2023 00:58:33 -0500 Subject: [PATCH 4/8] Apply changes --- .../console/tests/test_console_kernel.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index 76ccbedd..e68a2ada 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -289,6 +289,33 @@ def test_get_namespace_view(kernel): assert "'python_type': 'int'" in nsview +@pytest.mark.parametrize("filter_on", [True, False]) +def test_get_namespace_view_filter_on(kernel, filter_on): + """ + Test the namespace view of the kernel with filters on and off. + """ + execute = asyncio.run(kernel.do_execute('_a = 1', True)) + + settings = kernel.namespace_view_settings + settings['filter_on'] = filter_on + nsview = kernel.get_namespace_view() + + # Callables and modules should always be in nsview when the option + # is active. + if not filter_on: + assert '_a' in nsview + assert "'type': 'int'" in nsview or "'type': u'int'" in nsview + assert "'size': 1" in nsview + assert "'view': '1'" in nsview + assert "'numpy_type': 'Unknown'" in nsview + assert "'python_type': 'int'" in nsview + else: + assert '_a' not in nsview + + # Restore settings for other tests + settings['filter_on'] = True + + def test_get_var_properties(kernel): """ Test the properties fo the variables in the namespace. From 5715b1cd6e39ae7c34401af23c282b90d454f237 Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 11 Jul 2023 00:58:55 -0500 Subject: [PATCH 5/8] Apply changes --- spyder_kernels/console/tests/test_console_kernel.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index e68a2ada..62e44bbf 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -300,8 +300,6 @@ def test_get_namespace_view_filter_on(kernel, filter_on): settings['filter_on'] = filter_on nsview = kernel.get_namespace_view() - # Callables and modules should always be in nsview when the option - # is active. if not filter_on: assert '_a' in nsview assert "'type': 'int'" in nsview or "'type': u'int'" in nsview From aa406c2a6c03ae334f6118368e57cf0f862fbaab Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 11 Jul 2023 14:25:40 -0500 Subject: [PATCH 6/8] Apply changes --- spyder_kernels/console/tests/test_console_kernel.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index 62e44bbf..6d165c37 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -294,24 +294,29 @@ def test_get_namespace_view_filter_on(kernel, filter_on): """ Test the namespace view of the kernel with filters on and off. """ - execute = asyncio.run(kernel.do_execute('_a = 1', True)) + execute = asyncio.run(kernel.do_execute('TestFilterOn = 1', True)) + asyncio.run(kernel.do_execute('TestFilterOff = 1', True)) settings = kernel.namespace_view_settings settings['filter_on'] = filter_on + settings['exclude_capitalized'] = True nsview = kernel.get_namespace_view() if not filter_on: - assert '_a' in nsview + assert 'TestFilterOn' in nsview + assert 'TestFilterOff' in nsview assert "'type': 'int'" in nsview or "'type': u'int'" in nsview assert "'size': 1" in nsview assert "'view': '1'" in nsview assert "'numpy_type': 'Unknown'" in nsview assert "'python_type': 'int'" in nsview else: - assert '_a' not in nsview + assert 'TestFilterOff' not in nsview + assert 'TestFilterOn' not in nsview # Restore settings for other tests settings['filter_on'] = True + settings['exclude_capitalized'] = False def test_get_var_properties(kernel): From 7b4d2e677715edeafddf16ca5878eb5dc4cc4ed5 Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 11 Jul 2023 14:30:19 -0500 Subject: [PATCH 7/8] Apply changes --- spyder_kernels/console/tests/test_console_kernel.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index 6d165c37..5e6833b8 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -305,11 +305,6 @@ def test_get_namespace_view_filter_on(kernel, filter_on): if not filter_on: assert 'TestFilterOn' in nsview assert 'TestFilterOff' in nsview - assert "'type': 'int'" in nsview or "'type': u'int'" in nsview - assert "'size': 1" in nsview - assert "'view': '1'" in nsview - assert "'numpy_type': 'Unknown'" in nsview - assert "'python_type': 'int'" in nsview else: assert 'TestFilterOff' not in nsview assert 'TestFilterOn' not in nsview From 63bc860f5e217adc6b81648f6ed48340fe85fa21 Mon Sep 17 00:00:00 2001 From: jsbautista Date: Tue, 11 Jul 2023 14:45:05 -0500 Subject: [PATCH 8/8] Apply changes --- spyder_kernels/console/tests/test_console_kernel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spyder_kernels/console/tests/test_console_kernel.py b/spyder_kernels/console/tests/test_console_kernel.py index 5e6833b8..65870f02 100644 --- a/spyder_kernels/console/tests/test_console_kernel.py +++ b/spyder_kernels/console/tests/test_console_kernel.py @@ -294,7 +294,7 @@ def test_get_namespace_view_filter_on(kernel, filter_on): """ Test the namespace view of the kernel with filters on and off. """ - execute = asyncio.run(kernel.do_execute('TestFilterOn = 1', True)) + execute = asyncio.run(kernel.do_execute('a = 1', True)) asyncio.run(kernel.do_execute('TestFilterOff = 1', True)) settings = kernel.namespace_view_settings @@ -303,11 +303,11 @@ def test_get_namespace_view_filter_on(kernel, filter_on): nsview = kernel.get_namespace_view() if not filter_on: - assert 'TestFilterOn' in nsview + assert 'a' in nsview assert 'TestFilterOff' in nsview else: assert 'TestFilterOff' not in nsview - assert 'TestFilterOn' not in nsview + assert 'a' in nsview # Restore settings for other tests settings['filter_on'] = True