summaryrefslogtreecommitdiff
path: root/GetMedia.cs
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-06-25 12:23:00 +1000
committerJake Mannens <jake@asger.xyz>2026-06-25 12:31:55 +1000
commitd3e9b6d700fc60c681d1548feec4b84859c3dda0 (patch)
tree7db0a05bf3d6a9ecb17622f47afe85b7f263aea7 /GetMedia.cs
parent2aa80a043b7d45d3eacf7cd855cdd2f734e9c15e (diff)
Added a parameter set to Get-HyperBooruMedia for retrieving media items based on matching file checksums
Diffstat (limited to 'GetMedia.cs')
-rw-r--r--GetMedia.cs14
1 files changed, 13 insertions, 1 deletions
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();