Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add string/json output string mc pipe #5065

Merged
merged 1 commit into from
Oct 20, 2024

Conversation

fennm
Copy link
Contributor

@fennm fennm commented Oct 19, 2024

This commit adds a string message and json output to mc pipe. The implementation is heavily inspired by the one in mc cp, just adapted to the different semantics of pipe.

Community Contribution License

All community contributions in this pull request are licensed to the project maintainers
under the terms of the Apache 2 license.
By creating this pull request I represent that I have the right to license the
contributions to the project maintainers under the Apache 2 license.

Description

The mc pipe command doesn't currently do anything with the --json global flag, and this PR implements that. Feel free to suggest any changes to make this more conformant with project style or other requirements.

Motivation and Context

Comparing the number of bytes copied with the number of bytes expected is do a simple end-to-end check that an upload went as expected.

How to test this PR?

Pass --json to mc pipe and observe the output:

$ cat /tmp/zero.tar.gz | mc pipe --json localhost/test/zero.tar.gz
{
 "status": "success",
 "target": "localhost/test/zero.tar.gz",
 "size": 197
}

It also adds a plain text message due to the requirements of printMsg:

$ cat /tmp/zero.tar.gz | mc pipe  localhost/test/zero.tar.gz
 0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓┃197 bytes -> `localhost/test/zero.tar.gz`

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Optimization (provides speedup with no functional changes)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • Fixes a regression (If yes, please add commit-id or PR # here)
  • Unit tests added/updated
  • Internal documentation updated
  • Create a documentation update request here

This commit adds a string message and json output to mc pipe.  The
implementation is heavily inspired by the one in mc cp, just adapted to
the different semantics of pipe.
Copy link
Contributor

@klauspost klauspost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@harshavardhana harshavardhana merged commit 65aa514 into minio:master Oct 20, 2024
5 checks passed
@harshavardhana
Copy link
Member

Looks great thanks for the contribution

@fennm
Copy link
Contributor Author

fennm commented Oct 20, 2024

Great, thank you!

@fennm fennm deleted the add_pipe_json branch October 20, 2024 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants