From af409cefb556cb092bedf8582836ddd23938363c Mon Sep 17 00:00:00 2001 From: Paul Wildenhain Date: Thu, 12 Feb 2026 07:46:45 -0500 Subject: [PATCH 1/2] :bug: Fix token error message Fixes #315 --- redcap/methods/base.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/redcap/methods/base.py b/redcap/methods/base.py index 87e197f..b94147d 100644 --- a/redcap/methods/base.py +++ b/redcap/methods/base.py @@ -143,10 +143,9 @@ def _validate_url_and_token(url: str, token: str) -> None: actual_token_len = len(token) expected_token_len = 32 - assert actual_token_len == expected_token_len, ( - f"Incorrect token format '{ token }', token must must be", - f"{ expected_token_len } characters long", - ) + assert ( + actual_token_len == expected_token_len + ), f"Incorrect token format token must must be { expected_token_len } characters long" @staticmethod def _validate_request_kwargs(**request_kwargs): From 33435d384d920f05b571c9797ee7867c329927e8 Mon Sep 17 00:00:00 2001 From: Paul Wildenhain Date: Thu, 12 Feb 2026 08:25:32 -0500 Subject: [PATCH 2/2] :memo: Update doctest --- redcap/methods/users.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/redcap/methods/users.py b/redcap/methods/users.py index 6939854..7230841 100644 --- a/redcap/methods/users.py +++ b/redcap/methods/users.py @@ -31,9 +31,16 @@ def export_users( Examples: >>> proj.export_users() - [{'username': ..., 'email': ..., 'expiration': '', 'data_access_group': '', - 'data_access_group_id': '', 'design': 1, 'alerts': 1, 'user_rights': 1, - 'data_access_groups': 1, 'reports': 1, ...}] + [{'username': '...', 'email': '...', 'firstname': '...', 'lastname': '...', + 'expiration': '', 'data_access_group': '', 'data_access_group_id': '', + 'data_access_group_label': '', 'design': 1, 'alerts': 1, 'user_rights': 1, + 'data_access_groups': 1, 'reports': 1, 'stats_and_charts': 1, + 'manage_survey_participants': 1, 'calendar': 1, 'data_import_tool': 1, + 'data_comparison_tool': 1, 'logging': 1, 'email_logging': 0, 'file_repository': 1, + 'data_quality_create': 1, 'data_quality_execute': 1, 'api_export': 1, 'api_import': 1, + 'api_modules': 1, 'mobile_app': 1, 'mobile_app_download_data': 0, 'record_create': 1, + 'record_rename': 1, 'record_delete': 1, 'lock_records_all_forms': 1, 'lock_records': 1, + 'lock_records_customization': 0, 'forms': {'form_1': 1}, 'forms_export': {'form_1': 1}}] """ payload = self._initialize_payload(content="user", format_type=format_type) return_type = self._lookup_return_type(format_type, request_type="export")