diff options
| author | Paul Buetow <paul@buetow.org> | 2024-12-11 23:09:28 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-12-11 23:09:28 +0200 |
| commit | 121d2877cc7ed0aaf0bbe5c57b86abba982b0441 (patch) | |
| tree | 46893a05b71aaf6b25e971adda6126ae766eae7b /internal/platforms | |
| parent | 0f5ecb2715876d05bed8e54d7bd30754e57bcdc4 (diff) | |
initial summary support
Diffstat (limited to 'internal/platforms')
| -rw-r--r-- | internal/platforms/platform.go | 14 |
1 files changed, 9 insertions, 5 deletions
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 } |
