New: Viewable release cache

This commit is contained in:
KZ
2015-07-26 15:22:20 +01:00
parent 78770ea2d2
commit 3f146b0061
34 changed files with 20538 additions and 3788 deletions

View File

@@ -14,21 +14,24 @@ using System.Web.Http;
namespace Jackett.Controllers
{
[RoutePrefix("API")]
[AllowAnonymous]
public class APIController : ApiController
{
private IIndexerManagerService indexerService;
private Logger logger;
private IServerService serverService;
private ICacheService cacheService;
public APIController(IIndexerManagerService i, Logger l, IServerService s)
public APIController(IIndexerManagerService i, Logger l, IServerService s, ICacheService c)
{
indexerService = i;
logger = l;
serverService = s;
cacheService = c;
}
[Route("Call")]
[HttpGet]
public async Task<HttpResponseMessage> Call(string indexerID)
{
@@ -62,6 +65,13 @@ namespace Jackett.Controllers
var releases = await indexer.PerformQuery(torznabQuery);
// Cache non query results
if (string.IsNullOrEmpty(torznabQuery.SanitizedSearchTerm))
{
cacheService.CacheRssResults(indexer.DisplayName, releases);
}
// Log info
if (string.IsNullOrWhiteSpace(torznabQuery.SanitizedSearchTerm))
{
logger.Info(string.Format("Found {0} releases from {1}", releases.Length, indexer.DisplayName));
@@ -103,5 +113,12 @@ namespace Jackett.Controllers
Content = new StringContent(xml, Encoding.UTF8, "application/rss+xml")
};
}
[Route("GetCache")]
[HttpGet]
public List<TrackerCacheResult> GetCache()
{
return cacheService.GetCachedResults();
}
}
}