Sonarr/NzbDrone.Core/DataAugmentation/DailySeries/DailySeriesDataProxy.cs

59 lines
1.6 KiB
C#
Raw Normal View History

2013-03-02 18:25:39 +00:00
using System;
using System.Collections.Generic;
using NLog;
using NzbDrone.Common;
2013-05-12 15:18:17 +00:00
using NzbDrone.Common.Serializer;
2013-03-02 18:25:39 +00:00
2013-04-01 02:43:58 +00:00
namespace NzbDrone.Core.DataAugmentation.DailySeries
2013-03-02 18:25:39 +00:00
{
public interface IDailySeriesDataProxy
{
IEnumerable<int> GetDailySeriesIds();
bool IsDailySeries(int tvdbid);
2013-03-02 18:25:39 +00:00
}
public class DailySeriesDataProxy : IDailySeriesDataProxy
{
2013-04-10 23:41:45 +00:00
private readonly IHttpProvider _httpProvider;
2013-03-02 18:25:39 +00:00
private readonly Logger _logger;
2013-08-24 02:21:12 +00:00
public DailySeriesDataProxy(IHttpProvider httpProvider, Logger logger)
2013-03-02 18:25:39 +00:00
{
_httpProvider = httpProvider;
_logger = logger;
}
public IEnumerable<int> GetDailySeriesIds()
{
try
{
2013-09-06 07:16:13 +00:00
var dailySeriesIds = _httpProvider.DownloadString(Services.RootUrl + "/v1/DailySeries");
2013-03-02 18:25:39 +00:00
2013-05-13 02:52:55 +00:00
var seriesIds = Json.Deserialize<List<int>>(dailySeriesIds);
2013-03-02 18:25:39 +00:00
return seriesIds;
}
catch (Exception ex)
{
_logger.WarnException("Failed to get Daily Series", ex);
return new List<int>();
}
}
public bool IsDailySeries(int tvdbid)
{
try
{
2013-09-06 07:16:13 +00:00
var result = _httpProvider.DownloadString(Services.RootUrl + "/v1/DailySeries?seriesId=" + tvdbid);
return Convert.ToBoolean(result);
}
catch (Exception ex)
{
_logger.WarnException("Failed to check Daily Series status for: " + tvdbid, ex);
return false;
}
}
2013-03-02 18:25:39 +00:00
}
}