Skip to content

Commit

Permalink
refined the code
Browse files Browse the repository at this point in the history
Signed-off-by: wangxiaoxuan273 <[email protected]>
  • Loading branch information
wangxiaoxuan273 committed Oct 11, 2024
1 parent 6e3b09a commit 4daf7d6
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 18 deletions.
23 changes: 12 additions & 11 deletions cmd/oras/internal/display/metadata/text/manifest_index.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,27 @@ func NewManifestIndexCreateHandler(printer *output.Printer) metadata.ManifestInd
}
}

// OnIndexPacked implements metadata.ManifestIndexCreateHandler.
// OnIndexPacked implements ManifestIndexCreateHandler.
func (h *ManifestIndexCreateHandler) OnIndexPacked(desc ocispec.Descriptor) error {
return h.printer.Println("Packed", descriptor.ShortDigest(desc), ocispec.MediaTypeImageIndex)
}

// OnIndexPushed implements metadata.ManifestIndexCreateHandler.
// OnIndexPushed implements ManifestIndexCreateHandler.
func (h *ManifestIndexCreateHandler) OnIndexPushed(path string) error {
return h.printer.Println("Pushed", path)
}

// OnTagged implements metadata.TaggedHandler.
// OnTagged implements TaggedHandler.
func (h *ManifestIndexCreateHandler) OnTagged(_ ocispec.Descriptor, tag string) error {
return h.printer.Println("Tagged", tag)
}

// OnCompleted implements metadata.ManifestIndexCreateHandler.
// OnCompleted implements ManifestIndexCreateHandler.
func (h *ManifestIndexCreateHandler) OnCompleted(desc ocispec.Descriptor) error {
return h.printer.Println("Digest:", desc.Digest)
}

// ManifestIndexUpdateHandler handles text metadata output for index update events.
type ManifestIndexUpdateHandler struct {
printer *output.Printer
}
Expand All @@ -67,43 +68,43 @@ func NewManifestIndexUpdateHandler(printer *output.Printer) metadata.ManifestInd
}
}

// OnManifestRemoved implements metadata.ManifestIndexUpdateHandler.
// OnManifestRemoved implements ManifestIndexUpdateHandler.
func (miuh ManifestIndexUpdateHandler) OnManifestRemoved(digest digest.Digest) error {
return miuh.printer.Println("Removed", digest)
}

// OnManifestAdded implements metadata.ManifestIndexUpdateHandler.
// OnManifestAdded implements ManifestIndexUpdateHandler.
func (miuh ManifestIndexUpdateHandler) OnManifestAdded(ref string, digest digest.Digest) error {
if contentutil.IsDigest(ref) {
return miuh.printer.Println("Added", ref)
}
return miuh.printer.Println("Added", digest, ref)

Check warning on line 81 in cmd/oras/internal/display/metadata/text/manifest_index.go

View check run for this annotation

Codecov / codecov/patch

cmd/oras/internal/display/metadata/text/manifest_index.go#L81

Added line #L81 was not covered by tests
}

// OnIndexMerged implements metadata.ManifestIndexUpdateHandler.
// OnIndexMerged implements ManifestIndexUpdateHandler.
func (miuh ManifestIndexUpdateHandler) OnIndexMerged(ref string, digest digest.Digest) error {
if contentutil.IsDigest(ref) {
return miuh.printer.Println("Merged", ref)

Check warning on line 87 in cmd/oras/internal/display/metadata/text/manifest_index.go

View check run for this annotation

Codecov / codecov/patch

cmd/oras/internal/display/metadata/text/manifest_index.go#L87

Added line #L87 was not covered by tests
}
return miuh.printer.Println("Merged", digest, ref)
}

// OnIndexUpdated implements metadata.ManifestIndexUpdateHandler.
// OnIndexUpdated implements ManifestIndexUpdateHandler.
func (miuh ManifestIndexUpdateHandler) OnIndexPacked(desc ocispec.Descriptor) error {
return miuh.printer.Println("Updated", desc.Digest)
}

// OnIndexPushed implements metadata.ManifestIndexUpdateHandler.
// OnIndexPushed implements ManifestIndexUpdateHandler.
func (miuh ManifestIndexUpdateHandler) OnIndexPushed(indexRef string) error {
return miuh.printer.Println("Pushed", indexRef)
}

// OnTagged implements metadata.TaggedHandler.
// OnTagged implements TaggedHandler.
func (h *ManifestIndexUpdateHandler) OnTagged(_ ocispec.Descriptor, tag string) error {
return h.printer.Println("Tagged", tag)
}

// OnCompleted implements metadata.ManifestIndexUpdateHandler.
// OnCompleted implements ManifestIndexUpdateHandler.
func (h *ManifestIndexUpdateHandler) OnCompleted(desc ocispec.Descriptor) error {
return h.printer.Println("Digest:", desc.Digest)
}
14 changes: 7 additions & 7 deletions cmd/oras/root/manifest/index/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ func updateIndex(cmd *cobra.Command, opts updateOptions) error {
return displayMetadata.OnCompleted(desc)
}

func fetchIndex(ctx context.Context, handler status.ManifestIndexUpdateHandler, target oras.ReadOnlyTarget, reference string) (ocispec.Index, error) {
if err := handler.OnFetching(reference); err != nil {
func fetchIndex(ctx context.Context, displayStatus status.ManifestIndexUpdateHandler, target oras.ReadOnlyTarget, reference string) (ocispec.Index, error) {
if err := displayStatus.OnFetching(reference); err != nil {
return ocispec.Index{}, err

Check warning on line 160 in cmd/oras/root/manifest/index/update.go

View check run for this annotation

Codecov / codecov/patch

cmd/oras/root/manifest/index/update.go#L160

Added line #L160 was not covered by tests
}
desc, content, err := oras.FetchBytes(ctx, target, reference, oras.DefaultFetchBytesOptions)
Expand All @@ -166,7 +166,7 @@ func fetchIndex(ctx context.Context, handler status.ManifestIndexUpdateHandler,
if !descriptor.IsIndex(desc) {
return ocispec.Index{}, fmt.Errorf("%s is not an index", reference)
}
if err := handler.OnFetched(reference, desc); err != nil {
if err := displayStatus.OnFetched(reference, desc); err != nil {
return ocispec.Index{}, err

Check warning on line 170 in cmd/oras/root/manifest/index/update.go

View check run for this annotation

Codecov / codecov/patch

cmd/oras/root/manifest/index/update.go#L170

Added line #L170 was not covered by tests
}
var index ocispec.Index
Expand Down Expand Up @@ -232,16 +232,16 @@ func mergeIndexes(ctx context.Context, displayStatus status.ManifestIndexUpdateH
return manifests, nil
}

func removeManifests(handler metadata.ManifestIndexUpdateHandler, manifests []ocispec.Descriptor, target oras.ReadOnlyTarget, opts updateOptions) ([]ocispec.Descriptor, error) {
func removeManifests(displayMetadata metadata.ManifestIndexUpdateHandler, manifests []ocispec.Descriptor, target oras.ReadOnlyTarget, opts updateOptions) ([]ocispec.Descriptor, error) {
// create a set of digests to speed up the remove
digestToRemove := make(map[digest.Digest]bool)
for _, manifestRef := range opts.removeArguments {
digestToRemove[digest.Digest(manifestRef)] = false
}
return doRemoveManifests(manifests, digestToRemove, handler, opts.Reference)
return doRemoveManifests(manifests, digestToRemove, displayMetadata, opts.Reference)
}

func doRemoveManifests(originalManifests []ocispec.Descriptor, digestToRemove map[digest.Digest]bool, handler metadata.ManifestIndexUpdateHandler, indexRef string) ([]ocispec.Descriptor, error) {
func doRemoveManifests(originalManifests []ocispec.Descriptor, digestToRemove map[digest.Digest]bool, displayMetadata metadata.ManifestIndexUpdateHandler, indexRef string) ([]ocispec.Descriptor, error) {
manifests := []ocispec.Descriptor{}
for _, m := range originalManifests {
if _, exists := digestToRemove[m.Digest]; exists {
Expand All @@ -254,7 +254,7 @@ func doRemoveManifests(originalManifests []ocispec.Descriptor, digestToRemove ma
if !removed {
return nil, fmt.Errorf("%s does not exist in the index %s", digest, indexRef)
}
if err := handler.OnManifestRemoved(digest); err != nil {
if err := displayMetadata.OnManifestRemoved(digest); err != nil {
return nil, err

Check warning on line 258 in cmd/oras/root/manifest/index/update.go

View check run for this annotation

Codecov / codecov/patch

cmd/oras/root/manifest/index/update.go#L258

Added line #L258 was not covered by tests
}
}
Expand Down

0 comments on commit 4daf7d6

Please sign in to comment.