mirror of
https://github.com/Radarr/Radarr
synced 2026-05-09 10:50:23 +02:00
New: Indexer flags in webhook for grabbed releases
This commit is contained in:
parent
3aa93e7946
commit
ad7b85f76d
4 changed files with 35 additions and 2 deletions
|
|
@ -64,7 +64,7 @@ protected WebhookImportPayload BuildOnDownloadPayload(DownloadMessage message)
|
||||||
{
|
{
|
||||||
SourcePath = message.SourcePath
|
SourcePath = message.SourcePath
|
||||||
},
|
},
|
||||||
Release = new WebhookGrabbedRelease(message.Release),
|
Release = new WebhookGrabbedRelease(message.Release, movieFile.IndexerFlags),
|
||||||
IsUpgrade = message.OldMovieFiles.Any(),
|
IsUpgrade = message.OldMovieFiles.Any(),
|
||||||
DownloadClient = message.DownloadClientInfo?.Name,
|
DownloadClient = message.DownloadClientInfo?.Name,
|
||||||
DownloadClientType = message.DownloadClientInfo?.Type,
|
DownloadClientType = message.DownloadClientInfo?.Type,
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using NzbDrone.Core.Parser.Model;
|
using NzbDrone.Core.Parser.Model;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Webhook
|
namespace NzbDrone.Core.Notifications.Webhook
|
||||||
|
|
@ -18,10 +21,36 @@ public WebhookGrabbedRelease(GrabbedReleaseInfo release)
|
||||||
ReleaseTitle = release.Title;
|
ReleaseTitle = release.Title;
|
||||||
Indexer = release.Indexer;
|
Indexer = release.Indexer;
|
||||||
Size = release.Size;
|
Size = release.Size;
|
||||||
|
IndexerFlags = GetListOfIndexerFlags(release.IndexerFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
public WebhookGrabbedRelease(GrabbedReleaseInfo release, IndexerFlags indexerFlags)
|
||||||
|
{
|
||||||
|
if (release == null)
|
||||||
|
{
|
||||||
|
IndexerFlags = GetListOfIndexerFlags(indexerFlags);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ReleaseTitle = release.Title;
|
||||||
|
Indexer = release.Indexer;
|
||||||
|
Size = release.Size;
|
||||||
|
IndexerFlags = GetListOfIndexerFlags(release.IndexerFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ReleaseTitle { get; set; }
|
public string ReleaseTitle { get; set; }
|
||||||
public string Indexer { get; set; }
|
public string Indexer { get; set; }
|
||||||
public long Size { get; set; }
|
public long Size { get; set; }
|
||||||
|
public List<string> IndexerFlags { get; set; }
|
||||||
|
|
||||||
|
private static List<string> GetListOfIndexerFlags(IndexerFlags indexerFlags)
|
||||||
|
{
|
||||||
|
return Enum.GetValues(typeof(IndexerFlags))
|
||||||
|
.Cast<IndexerFlags>()
|
||||||
|
.Where(f => (indexerFlags & f) == f)
|
||||||
|
.Select(f => f.ToString())
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public WebhookRelease(QualityModel quality, RemoteMovie remoteMovie)
|
||||||
CustomFormats = remoteMovie.CustomFormats?.Select(x => x.Name).ToList();
|
CustomFormats = remoteMovie.CustomFormats?.Select(x => x.Name).ToList();
|
||||||
CustomFormatScore = remoteMovie.CustomFormatScore;
|
CustomFormatScore = remoteMovie.CustomFormatScore;
|
||||||
Languages = remoteMovie.Languages;
|
Languages = remoteMovie.Languages;
|
||||||
IndexerFlags = Enum.GetValues(typeof(IndexerFlags)).Cast<IndexerFlags>().Where(r => (remoteMovie.Release.IndexerFlags & r) == r).Select(r => r.ToString()).ToList();
|
IndexerFlags = Enum.GetValues(typeof(IndexerFlags)).Cast<IndexerFlags>().Where(f => (remoteMovie.Release.IndexerFlags & f) == f).Select(f => f.ToString()).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Quality { get; set; }
|
public string Quality { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using NzbDrone.Core.History;
|
using NzbDrone.Core.History;
|
||||||
|
|
@ -9,6 +10,7 @@ public class GrabbedReleaseInfo
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public string Indexer { get; set; }
|
public string Indexer { get; set; }
|
||||||
public long Size { get; set; }
|
public long Size { get; set; }
|
||||||
|
public IndexerFlags IndexerFlags { get; set; }
|
||||||
|
|
||||||
public List<int> MovieIds { get; set; }
|
public List<int> MovieIds { get; set; }
|
||||||
|
|
||||||
|
|
@ -19,11 +21,13 @@ public GrabbedReleaseInfo(List<MovieHistory> grabbedHistories)
|
||||||
|
|
||||||
grabbedHistory.Data.TryGetValue("indexer", out var indexer);
|
grabbedHistory.Data.TryGetValue("indexer", out var indexer);
|
||||||
grabbedHistory.Data.TryGetValue("size", out var sizeString);
|
grabbedHistory.Data.TryGetValue("size", out var sizeString);
|
||||||
|
Enum.TryParse(grabbedHistory.Data.GetValueOrDefault("indexerFlags"), out IndexerFlags indexerFlags);
|
||||||
long.TryParse(sizeString, out var size);
|
long.TryParse(sizeString, out var size);
|
||||||
|
|
||||||
Title = grabbedHistory.SourceTitle;
|
Title = grabbedHistory.SourceTitle;
|
||||||
Indexer = indexer;
|
Indexer = indexer;
|
||||||
Size = size;
|
Size = size;
|
||||||
|
IndexerFlags = indexerFlags;
|
||||||
MovieIds = movieIds;
|
MovieIds = movieIds;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue