From fe80b84619b81c1621f7750cedb79d128caba548 Mon Sep 17 00:00:00 2001 From: AdityaGupta716 Date: Sat, 7 Feb 2026 12:51:19 +0530 Subject: [PATCH 1/7] Fix: Update keyboard shortcut tooltips for macOS compatibility (Fixes #617) Updated keyboard shortcut tooltips in tooltips.py to emphasize CTRL+C (with SHIFT) instead of CTRL+Q for copying filepath to clipboard. CTRL+Q quits the application on macOS, so CTRL+C is the more appropriate shortcut for users on that platform. --- datashuttle/tui/tooltips.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/datashuttle/tui/tooltips.py b/datashuttle/tui/tooltips.py index 6d0e63a5a..0ff44957b 100644 --- a/datashuttle/tui/tooltips.py +++ b/datashuttle/tui/tooltips.py @@ -130,8 +130,7 @@ def get_tooltip(id: str) -> str: "when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" - "-CTRL+Q : copy the full filepath to clipboard.\n" - "-CTRL+R : refresh the folder tree.\n" +"-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." ) @@ -206,8 +205,7 @@ def get_tooltip(id: str) -> str: "Keyboard shortcuts, when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" - "-CTRL+Q : copy the full filepath to clipboard.\n" - "-CTRL+R : refresh the folder tree.\n" +"-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." ) From 034b2ecde7cf26973cff0dd48920e292a6eca1f8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 7 Feb 2026 07:23:21 +0000 Subject: [PATCH 2/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- datashuttle/tui/tooltips.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/datashuttle/tui/tooltips.py b/datashuttle/tui/tooltips.py index 0ff44957b..a15b295c0 100644 --- a/datashuttle/tui/tooltips.py +++ b/datashuttle/tui/tooltips.py @@ -130,7 +130,8 @@ def get_tooltip(id: str) -> str: "when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" -"-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" + "-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" + "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." ) @@ -205,7 +206,8 @@ def get_tooltip(id: str) -> str: "Keyboard shortcuts, when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" -"-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" + "-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" + "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." ) From e6f651a5672dc0d63bcc8fd2ac04706b6948f10f Mon Sep 17 00:00:00 2001 From: AdityaGupta716 Date: Sat, 7 Feb 2026 13:11:35 +0530 Subject: [PATCH 3/7] Add docstring to custom_exceptions.py Add module docstring for custom exceptions. --- datashuttle/utils/custom_exceptions.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/datashuttle/utils/custom_exceptions.py b/datashuttle/utils/custom_exceptions.py index 05be4b6d0..ed27e87af 100644 --- a/datashuttle/utils/custom_exceptions.py +++ b/datashuttle/utils/custom_exceptions.py @@ -1,3 +1,9 @@ +"""Custom exception classes for datashuttle. + +This module defines custom exceptions used throughout the datashuttle package +for specific error conditions. +""" + class ConfigError(Exception): """Raise an error relating to a configuration problem.""" From d77ab4fd1123d1366e93b434e03bcd459dcd69fe Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 7 Feb 2026 07:41:54 +0000 Subject: [PATCH 4/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- datashuttle/utils/custom_exceptions.py | 1 + 1 file changed, 1 insertion(+) diff --git a/datashuttle/utils/custom_exceptions.py b/datashuttle/utils/custom_exceptions.py index ed27e87af..e2daebd76 100644 --- a/datashuttle/utils/custom_exceptions.py +++ b/datashuttle/utils/custom_exceptions.py @@ -4,6 +4,7 @@ for specific error conditions. """ + class ConfigError(Exception): """Raise an error relating to a configuration problem.""" From 757b02a3314c0ea06fffeb229b5f16d79c7f4007 Mon Sep 17 00:00:00 2001 From: AdityaGupta716 Date: Sat, 7 Feb 2026 13:24:47 +0530 Subject: [PATCH 5/7] Add type hints to test_links.py (#532) - Add return type hint (-> None) to test_links() function - This is part of the effort to extend type hints to test files as described in issue #532 --- tests/tests_unit/test_links.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests_unit/test_links.py b/tests/tests_unit/test_links.py index 86adc8b9f..3f85f4197 100644 --- a/tests/tests_unit/test_links.py +++ b/tests/tests_unit/test_links.py @@ -3,11 +3,11 @@ from datashuttle.configs import links -def test_links(): +def test_links() -> None: """Test canonical links are working. Unfortunately Zulip links cannot be validated. """ assert validators.url(links.get_docs_link()) assert validators.url(links.get_github_link()) assert validators.url(links.get_link_github_issues()) - # assert validators.url(links.get_link_zulip()) Zulip links fail even when valid... + # assert validators.url(links.get_link_zulip()) Zulip links fail even when valid From 8302dfa117d350d566600947d1ab04748f5d7bd7 Mon Sep 17 00:00:00 2001 From: AdityaGupta716 Date: Tue, 17 Feb 2026 02:01:06 +0530 Subject: [PATCH 6/7] Update tooltips.py --- datashuttle/tui/tooltips.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datashuttle/tui/tooltips.py b/datashuttle/tui/tooltips.py index a15b295c0..6d0e63a5a 100644 --- a/datashuttle/tui/tooltips.py +++ b/datashuttle/tui/tooltips.py @@ -130,7 +130,7 @@ def get_tooltip(id: str) -> str: "when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" - "-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" + "-CTRL+Q : copy the full filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." @@ -206,7 +206,7 @@ def get_tooltip(id: str) -> str: "Keyboard shortcuts, when hovering the mouse over a folder:\n\n" "-CTRL+O : open the folder in the system filebrowser.\n" "-CTRL+N : rename a file or folder.\n" - "-CTRL+C (with SHIFT): copy the highlighted filepath to clipboard.\n" + "-CTRL+Q : copy the full filepath to clipboard.\n" "-CTRL+R : refresh the folder tree.\n" "-CTRL+F : fill the 'sub-' or 'ses-' input with the foldername.\n" "-CTRL+A : similar to CTRL+F, but append." From bbb76330530ccd08a994d17164b0e615f5a9b426 Mon Sep 17 00:00:00 2001 From: AdityaGupta716 Date: Tue, 17 Feb 2026 02:01:36 +0530 Subject: [PATCH 7/7] Update custom_exceptions.py --- datashuttle/utils/custom_exceptions.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/datashuttle/utils/custom_exceptions.py b/datashuttle/utils/custom_exceptions.py index e2daebd76..05be4b6d0 100644 --- a/datashuttle/utils/custom_exceptions.py +++ b/datashuttle/utils/custom_exceptions.py @@ -1,10 +1,3 @@ -"""Custom exception classes for datashuttle. - -This module defines custom exceptions used throughout the datashuttle package -for specific error conditions. -""" - - class ConfigError(Exception): """Raise an error relating to a configuration problem."""