diff options
Diffstat (limited to 'SetMediaTag.cs')
| -rw-r--r-- | SetMediaTag.cs | 19 |
1 files changed, 12 insertions, 7 deletions
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)}"); + } } |
