1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-21 22:05:38 -04:00

Fixed: Blocklisting pending releases

Closes #4598
This commit is contained in:
Mark McDowall
2021-08-01 14:36:16 -07:00
parent ead1371846
commit 3f60e28c42
7 changed files with 102 additions and 46 deletions
@@ -16,6 +16,7 @@ namespace NzbDrone.Core.Blocklisting
{
bool Blocklisted(int seriesId, ReleaseInfo release);
PagingSpec<Blocklist> Paged(PagingSpec<Blocklist> pagingSpec);
void Block(RemoteEpisode remoteEpisode, string message);
void Delete(int id);
void Delete(List<int> ids);
}
@@ -61,6 +62,32 @@ namespace NzbDrone.Core.Blocklisting
return _blocklistRepository.GetPaged(pagingSpec);
}
public void Block(RemoteEpisode remoteEpisode, string message)
{
var blocklist = new Blocklist
{
SeriesId = remoteEpisode.Series.Id,
EpisodeIds = remoteEpisode.Episodes.Select(e => e.Id).ToList(),
SourceTitle = remoteEpisode.Release.Title,
Quality = remoteEpisode.ParsedEpisodeInfo.Quality,
Date = DateTime.UtcNow,
PublishedDate = remoteEpisode.Release.PublishDate,
Size = remoteEpisode.Release.Size,
Indexer = remoteEpisode.Release.Indexer,
Protocol = remoteEpisode.Release.DownloadProtocol,
Message = message,
Language = remoteEpisode.ParsedEpisodeInfo.Language
};
if (remoteEpisode.Release is TorrentInfo torrentRelease)
{
blocklist.TorrentInfoHash = torrentRelease.InfoHash;
}
_blocklistRepository.Insert(blocklist);
}
public void Delete(int id)
{
_blocklistRepository.Delete(id);