mirror of
https://github.com/lidarr/Lidarr
synced 2024-12-25 01:02:05 +00:00
Prevent releases with unknown series from being downloaded
This commit is contained in:
parent
82933fbcc3
commit
6c91639d64
3 changed files with 15 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Nancy;
|
using Nancy;
|
||||||
using NzbDrone.Api.Mapping;
|
using NzbDrone.Api.Mapping;
|
||||||
|
using NzbDrone.Api.REST;
|
||||||
using NzbDrone.Core.DecisionEngine;
|
using NzbDrone.Core.DecisionEngine;
|
||||||
using NzbDrone.Core.DecisionEngine.Specifications;
|
using NzbDrone.Core.DecisionEngine.Specifications;
|
||||||
using NzbDrone.Core.Download;
|
using NzbDrone.Core.Download;
|
||||||
|
@ -8,6 +9,7 @@
|
||||||
using NzbDrone.Core.Indexers;
|
using NzbDrone.Core.Indexers;
|
||||||
using NzbDrone.Core.Parser;
|
using NzbDrone.Core.Parser;
|
||||||
using NzbDrone.Core.Parser.Model;
|
using NzbDrone.Core.Parser.Model;
|
||||||
|
using NzbDrone.Core.Tv;
|
||||||
using Omu.ValueInjecter;
|
using Omu.ValueInjecter;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Nancy.ModelBinding;
|
using Nancy.ModelBinding;
|
||||||
|
@ -43,6 +45,11 @@ private Response DownloadRelease(ReleaseResource release)
|
||||||
var remoteEpisode = _parsingService.Map(release.InjectTo<ParsedEpisodeInfo>(), 0);
|
var remoteEpisode = _parsingService.Map(release.InjectTo<ParsedEpisodeInfo>(), 0);
|
||||||
remoteEpisode.Release = release.InjectTo<ReleaseInfo>();
|
remoteEpisode.Release = release.InjectTo<ReleaseInfo>();
|
||||||
|
|
||||||
|
if (remoteEpisode.Series == null || remoteEpisode.Episodes == null || !remoteEpisode.Episodes.Any())
|
||||||
|
{
|
||||||
|
throw new BadRequestException(release);
|
||||||
|
}
|
||||||
|
|
||||||
_downloadService.DownloadReport(remoteEpisode);
|
_downloadService.DownloadReport(remoteEpisode);
|
||||||
|
|
||||||
return release.AsResponse();
|
return release.AsResponse();
|
||||||
|
@ -85,6 +92,7 @@ private static List<ReleaseResource> MapDecisions(IEnumerable<DownloadDecision>
|
||||||
release.InjectFrom(downloadDecision.RemoteEpisode.ParsedEpisodeInfo);
|
release.InjectFrom(downloadDecision.RemoteEpisode.ParsedEpisodeInfo);
|
||||||
release.InjectFrom(downloadDecision);
|
release.InjectFrom(downloadDecision);
|
||||||
release.Rejections = downloadDecision.Rejections.ToList();
|
release.Rejections = downloadDecision.Rejections.ToList();
|
||||||
|
release.DownloadAllowed = downloadDecision.RemoteEpisode.Series != null;
|
||||||
|
|
||||||
result.Add(release);
|
result.Add(release);
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ public class ReleaseResource : RestResource
|
||||||
public String CommentUrl { get; set; }
|
public String CommentUrl { get; set; }
|
||||||
public String DownloadUrl { get; set; }
|
public String DownloadUrl { get; set; }
|
||||||
public String InfoUrl { get; set; }
|
public String InfoUrl { get; set; }
|
||||||
|
public Boolean DownloadAllowed { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -29,10 +29,14 @@ define(
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function () {
|
render: function () {
|
||||||
|
this.$el.html('');
|
||||||
|
|
||||||
|
if (this.model.get('downloadAllowed'))
|
||||||
|
{
|
||||||
|
this.$el.html('<i class="icon-download-alt" title="Add to download queue" />');
|
||||||
|
}
|
||||||
|
|
||||||
this.$el.html('<i class="icon-download-alt" title="Add to download queue" />');
|
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue