From d36e27387eabf88845d364b9d3a2da54a583247f Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Mon, 15 Jun 2026 12:54:44 +1000 Subject: v0.18a --- SetMediaTag.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'SetMediaTag.cs') diff --git a/SetMediaTag.cs b/SetMediaTag.cs index 8931991..dc2bbd7 100644 --- a/SetMediaTag.cs +++ b/SetMediaTag.cs @@ -1,22 +1,27 @@ -using HyperBooru.ApiClient; -using System.Management.Automation; +using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("shbmt")] [Cmdlet(VerbsCommon.Set, "HyperBooruMediaTag")] -public class SetMediaTagCmdlet : PSCmdlet { - [Parameter(Position = 0, Mandatory = true)] - public required HBSession Session { get; set; } - +public class SetMediaTagCmdlet : SessionCmdlet { [Parameter(Position = 1, Mandatory = true)] public Guid MediaId { get; set; } [Parameter(Position = 2, Mandatory = true)] public Guid[] TagId { get; set; } - protected override void ProcessRecord() => + protected override void ProcessRecord() { Session.Media.ReplaceTagsAsync(MediaId, TagId) .GetAwaiter() .GetResult(); + + var id = MediaId.ToString().ToUpper(); + var tags = TagId + .Order() + .Distinct() + .Select(t => t.ToString().ToUpper()); + + WriteVerbose($"Set tags for media item {id} to {string.Join(", ", tags)}"); + } } -- cgit v1.3