diff options
Diffstat (limited to 'RemoveMediaTag.cs')
| -rw-r--r-- | RemoveMediaTag.cs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/RemoveMediaTag.cs b/RemoveMediaTag.cs index d41980d..de10611 100644 --- a/RemoveMediaTag.cs +++ b/RemoveMediaTag.cs @@ -1,22 +1,27 @@ -using HyperBooru.ApiClient; -using System.Management.Automation; +using System.Management.Automation; namespace HyperBooru.PowerShell; [Alias("rhbmt")] [Cmdlet(VerbsCommon.Remove, "HyperBooruMediaTag")] -public class RemoveMediaTagCmdlet : PSCmdlet { - [Parameter(Position = 0, Mandatory = true)] - public required HBSession Session { get; set; } - +public class RemoveMediaTagCmdlet : 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.DeleteTagsAsync(MediaId, TagId) .GetAwaiter() .GetResult(); + + var id = MediaId.ToString().ToUpper(); + var tags = TagId + .Order() + .Distinct() + .Select(t => t.ToString().ToUpper()); + + WriteVerbose($"Removed tags {string.Join(", ", tags)} from media item {id}"); + } } |
