From d3e9b6d700fc60c681d1548feec4b84859c3dda0 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Thu, 25 Jun 2026 12:23:00 +1000 Subject: Added a parameter set to Get-HyperBooruMedia for retrieving media items based on matching file checksums --- GetMedia.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/GetMedia.cs b/GetMedia.cs index e45ae3a..479c783 100644 --- a/GetMedia.cs +++ b/GetMedia.cs @@ -22,8 +22,11 @@ public class GetMediaCmdlet : SessionCmdlet { public Guid TagId { get; set; } [Parameter(ParameterSetName = "Query", Mandatory = true)] public string Query { get; set; } + [Parameter(ParameterSetName = "Checksum", Mandatory = true)] + public string Checksum { get; set; } protected override void ProcessRecord() { + Guid[] mediaIds; FeedRequest feedRequest; switch(ParameterSetName) { @@ -47,6 +50,15 @@ public class GetMediaCmdlet : SessionCmdlet { Query = Query }; break; + case "Checksum": + mediaIds = Session.Media.GetByChecksumAsync(Checksum) + .GetAwaiter() + .GetResult() + .Select(m => m.MediaId) + .ToArray(); + foreach(var m in mediaIds) + WriteObject(m); + return; default: feedRequest = new FeedRequest { SelectIngest = SelectIngest, @@ -58,7 +70,7 @@ public class GetMediaCmdlet : SessionCmdlet { break; } - var mediaIds = Session.Feed.LoadChunkAsync(feedRequest) + mediaIds = Session.Feed.LoadChunkAsync(feedRequest) .GetAwaiter() .GetResult(); -- cgit v1.3