fix: correct and standardize tabcmd 2 output messages to match tabcmd 1 - #432
Open
jacalata wants to merge 7 commits into
Open
fix: correct and standardize tabcmd 2 output messages to match tabcmd 1#432jacalata wants to merge 7 commits into
jacalata wants to merge 7 commits into
Conversation
…esiteusers, removeusers - listsites: show site content_url instead of internal UUID for SITEID - deletegroup: log group name instead of UUID in delete status message - export/save_to_file: pass filename as content name to fix double-space in "Saved to '...'" message - createsiteusers: append str(e) to error_list instead of e.__class__.__name__ so error details show readable messages - removeusers: use new tabcmd.removeusers.group string key that includes the group name in the status message Fixes #429 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ebug noise - logger_config.py: add ===== prefix to INFO format so all action lines match tabcmd 1 style in one place - session.py: remove hardcoded ===== from _print_server_info lines (now added by formatter); demote "Fetched user details from server" to debug - constants.py: demote tabcmd.debug.error_message log call from info to debug so it no longer appears in normal output - delete_command.py: default content_type to "workbook" in status message to fix double-space when type is undetected - tabcmd_messages_en.properties: remove hardcoded ===== from tabcmd.listing.header (would double-prefix with formatter) Closes remaining items from #429 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Avoids the ===== prefix being applied to the version/help display. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Plain output is the default. Set TABCMD_CLASSIC_OUTPUT=true (or 1/yes) to restore the ===== prefix on all INFO-level messages for backward compatibility with tabcmd 1 output style. Also moves the version banner in tabcmd_controller to print() so it is never prefixed regardless of mode. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The condition compared logging_level string 'INFO' to the integer logging.INFO (20), which was always True, causing the print to fire on every invocation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
session.login string already existed; add logger.info call at the start of _sign_in() to surface it as a distinct step after connecting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
|
@jacalata looks good - my only question, do we need |
Contributor
Author
Two follow-up fixes for parity with tabcmd Classic output:
- save_to_file/save_to_data_file previously passed filename twice into
the "Saved {0} to '{1}'" template, so both slots rendered the same
path. Classic output was "Saved <content-name> to '<destination>'"
where the two are distinct. Add a content_name parameter and thread
export_item.name / get_url_item.name from all four callers.
- TABCMD_CLASSIC_OUTPUT default flipped to true. The stated goal of
this PR is parity with tabcmd 1 output, and issue #429 item 8 lists
the missing "=====" prefix as a bug. Users who prefer the plainer
tabcmd 2 style can opt out with TABCMD_CLASSIC_OUTPUT=false.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes items 1-9 in #429 (item #10, logout redirect, is not applicable with PAT auth).
Motivation
#429 catalogued a set of output-message bugs where tabcmd 2 diverged
from tabcmd 1. Fixing them one at a time would fan out into nine small
PRs; the changes all touch the same formatter or locale-key wiring, so
bundling into one PR made the review path shorter than the divergence
path.
Behavior change
For users:
=====prefix by default(item Creategroup command #8 in the issue). Users who prefer the plainer tabcmd 2 style can
opt out with
TABCMD_CLASSIC_OUTPUT=false.listsitesoutput shows human-readable SITEID instead of the site UUID.deletegroupstatus message uses the group name, not a UUID.createsiteuserserror list shows human-readable messages, not theraw exception class name.
removeusersuses the correct locale key (removeusers.group).double-space when content type is empty.
Signing in...status line, matching tabcmd 1.Saved X to 'Y'rendersX = content name,Y = destination path(previously both slots rendered the destination).
Fetched user details, error-message detail)demoted from INFO to DEBUG.
logging: INFOline no longer appears before everycommand (type mismatch:
namespace.logging_levelis the string"INFO"but was compared againstlogging.INFO, integer 20; alwaystruthy).
The
=====prefix is implemented via a singlelogger_config.pyformatter change so we don't have to edit every locale string.
Test plan
covering the
content_nameparametertabcmd login/tabcmd logoutwith default settingsproduce
=====-prefixed outputTABCMD_CLASSIC_OUTPUT=false tabcmd loginproduces plainoutput without the prefix
tabcmd listsitesshows human-readable SITEIDlogging: INFOline appears before command output🤖 Generated with Claude Code