From 121d2877cc7ed0aaf0bbe5c57b86abba982b0441 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 11 Dec 2024 23:09:28 +0200 Subject: initial summary support --- internal/platforms/platform.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'internal/platforms') diff --git a/internal/platforms/platform.go b/internal/platforms/platform.go index e5bbd22..f9ff84d 100644 --- a/internal/platforms/platform.go +++ b/internal/platforms/platform.go @@ -62,23 +62,27 @@ func (p Platform) Post(ctx context.Context, args config.Args, sizeLimit int, en } func ExpandAliases(shareTag string) (string, error) { - a := make(map[string]struct{}, len(aliases)) + parts := strings.Split(shareTag, ":") if parts[0] != "share" { return "", fmt.Errorf("expected share tag, but got '%s' in '%s'", parts[0], shareTag) } elems := []string{"share"} - // Dedup + dedup := make(map[string]struct{}, len(aliases)) + for _, alias := range parts[1:] { - a[alias] = struct{}{} - } - for alias := range a { platformStr, ok := aliases[alias] if !ok { return "", fmt.Errorf("invalid platform alias '%s' in '%s'", alias, shareTag) } + if _, ok := dedup[platformStr]; ok { + // Duplicate, ignore + continue + } elems = append(elems, platformStr) + dedup[platformStr] = struct{}{} } + return strings.Join(elems, ":"), nil } -- cgit v1.2.3