Merge branch 'master' of git://github.com/kayone/NzbDrone
Conflicts: NzbDrone.Core.Test/ParserTest.cs
This commit is contained in:
commit
76a9a0c6f0
|
@ -152,8 +152,8 @@ namespace NzbDrone.Core.Test
|
||||||
.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(true).Verifiable();
|
.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(true).Verifiable();
|
||||||
|
|
||||||
//mocker.GetMock<EpisodeProvider>()
|
//mocker.GetMock<EpisodeProvider>()
|
||||||
// .Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns(fakeEpisode)
|
// .Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns(fakeEpisode)
|
||||||
// .Verifiable();
|
// .Verifiable();
|
||||||
|
|
||||||
mocker.GetMock<DiskProvider>()
|
mocker.GetMock<DiskProvider>()
|
||||||
.Setup(e => e.GetSize(fileName)).Returns(size).Verifiable();
|
.Setup(e => e.GetSize(fileName)).Returns(size).Verifiable();
|
||||||
|
@ -224,18 +224,17 @@ namespace NzbDrone.Core.Test
|
||||||
mocker.GetMock<IRepository>(MockBehavior.Strict)
|
mocker.GetMock<IRepository>(MockBehavior.Strict)
|
||||||
.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(true).Verifiable();
|
.Setup(r => r.Exists(It.IsAny<Expression<Func<EpisodeFile, Boolean>>>())).Returns(true).Verifiable();
|
||||||
mocker.GetMock<EpisodeProvider>(MockBehavior.Strict);
|
mocker.GetMock<EpisodeProvider>(MockBehavior.Strict);
|
||||||
mocker.GetMock<DiskProvider>(MockBehavior.Strict);
|
mocker.GetMock<DiskProvider>()
|
||||||
|
.Setup(e => e.GetSize(fileName)).Returns(500000).Verifiable();
|
||||||
|
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
var result = mocker.Resolve<MediaFileProvider>().ImportFile(fakeSeries, fileName);
|
var result = mocker.Resolve<MediaFileProvider>().ImportFile(fakeSeries, fileName);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
mocker.GetMock<IRepository>().VerifyAll();
|
|
||||||
mocker.GetMock<EpisodeProvider>().VerifyAll();
|
|
||||||
mocker.GetMock<DiskProvider>(MockBehavior.Strict).VerifyAll();
|
|
||||||
Assert.IsNull(result);
|
Assert.IsNull(result);
|
||||||
mocker.GetMock<IRepository>().Verify(r => r.Add(result), Times.Never());
|
mocker.GetMock<IRepository>().Verify(r => r.Add(result), Times.Never());
|
||||||
|
mocker.VerifyAllMocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -262,7 +261,8 @@ namespace NzbDrone.Core.Test
|
||||||
.Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns<Episode>(null).
|
.Setup(e => e.GetEpisode(fakeSeries.SeriesId, seasonNumber, episodeNumner)).Returns<Episode>(null).
|
||||||
Verifiable();
|
Verifiable();
|
||||||
|
|
||||||
mocker.GetMock<DiskProvider>(MockBehavior.Strict);
|
mocker.GetMock<DiskProvider>(MockBehavior.Strict)
|
||||||
|
.Setup(e => e.GetSize(fileName)).Returns(90000000000);
|
||||||
|
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
|
|
@ -112,15 +112,15 @@ namespace NzbDrone.Core.Test
|
||||||
[Row("The Tonight Show With Jay Leno 2011 04 15 1080i HDTV DD5 1 MPEG2 TrollHD", "The Tonight Show With Jay Leno", 2011, 04, 15)]
|
[Row("The Tonight Show With Jay Leno 2011 04 15 1080i HDTV DD5 1 MPEG2 TrollHD", "The Tonight Show With Jay Leno", 2011, 04, 15)]
|
||||||
[Row("The.Daily.Show.2010.10.11.Johnny.Knoxville.iTouch-MW", "The.Daily.Show", 2010, 10, 11)]
|
[Row("The.Daily.Show.2010.10.11.Johnny.Knoxville.iTouch-MW", "The.Daily.Show", 2010, 10, 11)]
|
||||||
[Row("The Daily Show - 2011-04-12 - Gov. Deval Patrick", "The.Daily.Show", 2011, 04, 12)]
|
[Row("The Daily Show - 2011-04-12 - Gov. Deval Patrick", "The.Daily.Show", 2011, 04, 12)]
|
||||||
[Row("2011.01.10 - Denis Leary - HD TV.mkv", 2011, 1, 10)]
|
[Row("2011.01.10 - Denis Leary - HD TV.mkv","", 2011, 1, 10)]
|
||||||
[Row("2011.03.13 - Denis Leary - HD TV.mkv", 2011, 3, 13)]
|
[Row("2011.03.13 - Denis Leary - HD TV.mkv", "", 2011, 3, 13)]
|
||||||
public void episode_daily_parse(string postTitle, string title, int year, int month, int day)
|
public void episode_daily_parse(string postTitle, string title, int year, int month, int day)
|
||||||
{
|
{
|
||||||
var result = Parser.ParseEpisodeInfo(postTitle);
|
var result = Parser.ParseEpisodeInfo(postTitle);
|
||||||
var airDate = new DateTime(year, month, day);
|
var airDate = new DateTime(year, month, day);
|
||||||
Assert.AreEqual(Parser.NormalizeTitle(title), result.CleanTitle);
|
Assert.AreEqual(Parser.NormalizeTitle(title), result.CleanTitle);
|
||||||
Assert.AreEqual(airDate, result.AirDate);
|
Assert.AreEqual(airDate, result.AirDate);
|
||||||
Assert.IsEmpty(result.Episodes);
|
Assert.IsNull(result.Episodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -10,16 +10,16 @@ namespace NzbDrone.Core.Providers.Core
|
||||||
public class ConfigProvider
|
public class ConfigProvider
|
||||||
{
|
{
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
private readonly IRepository _sonicRepo;
|
private readonly IRepository _repository;
|
||||||
|
|
||||||
public ConfigProvider(IRepository dataRepository)
|
public ConfigProvider(IRepository repository)
|
||||||
{
|
{
|
||||||
_sonicRepo = dataRepository;
|
_repository = repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IList<Config> All()
|
public IList<Config> All()
|
||||||
{
|
{
|
||||||
return _sonicRepo.All<Config>().ToList();
|
return _repository.All<Config>().ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConfigProvider()
|
public ConfigProvider()
|
||||||
|
@ -220,7 +220,7 @@ namespace NzbDrone.Core.Providers.Core
|
||||||
{
|
{
|
||||||
string value;
|
string value;
|
||||||
|
|
||||||
var dbValue = _sonicRepo.Single<Config>(key);
|
var dbValue = _repository.Single<Config>(key);
|
||||||
|
|
||||||
if (dbValue != null && !String.IsNullOrEmpty(dbValue.Value))
|
if (dbValue != null && !String.IsNullOrEmpty(dbValue.Value))
|
||||||
return dbValue.Value;
|
return dbValue.Value;
|
||||||
|
@ -252,11 +252,11 @@ namespace NzbDrone.Core.Providers.Core
|
||||||
|
|
||||||
Logger.Debug("Writing Setting to file. Key:'{0}' Value:'{1}'", key, value);
|
Logger.Debug("Writing Setting to file. Key:'{0}' Value:'{1}'", key, value);
|
||||||
|
|
||||||
var dbValue = _sonicRepo.Single<Config>(key);
|
var dbValue = _repository.Single<Config>(key);
|
||||||
|
|
||||||
if (dbValue == null)
|
if (dbValue == null)
|
||||||
{
|
{
|
||||||
_sonicRepo.Add(new Config
|
_repository.Add(new Config
|
||||||
{
|
{
|
||||||
Key = key,
|
Key = key,
|
||||||
Value = value
|
Value = value
|
||||||
|
@ -265,7 +265,7 @@ namespace NzbDrone.Core.Providers.Core
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dbValue.Value = value;
|
dbValue.Value = value;
|
||||||
_sonicRepo.Update(dbValue);
|
_repository.Update(dbValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,21 +12,15 @@ namespace NzbDrone.Core.Providers
|
||||||
public class EpisodeProvider
|
public class EpisodeProvider
|
||||||
{
|
{
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
private readonly QualityProvider _qualityProvider;
|
private readonly SeasonProvider _seasonsProvider;
|
||||||
private readonly SeasonProvider _seasons;
|
private readonly IRepository _repository;
|
||||||
private readonly SeriesProvider _series;
|
private readonly TvDbProvider _tvDbProvider;
|
||||||
private readonly IRepository _sonicRepo;
|
|
||||||
private readonly TvDbProvider _tvDb;
|
|
||||||
|
|
||||||
public EpisodeProvider(IRepository sonicRepo, SeriesProvider seriesProvider,
|
public EpisodeProvider(IRepository repository, SeasonProvider seasonProviderProvider, TvDbProvider tvDbProviderProvider)
|
||||||
SeasonProvider seasonProvider, TvDbProvider tvDbProvider,
|
|
||||||
QualityProvider qualityProvider)
|
|
||||||
{
|
{
|
||||||
_sonicRepo = sonicRepo;
|
_repository = repository;
|
||||||
_series = seriesProvider;
|
_tvDbProvider = tvDbProviderProvider;
|
||||||
_tvDb = tvDbProvider;
|
_seasonsProvider = seasonProviderProvider;
|
||||||
_seasons = seasonProvider;
|
|
||||||
_qualityProvider = qualityProvider;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EpisodeProvider()
|
public EpisodeProvider()
|
||||||
|
@ -35,36 +29,36 @@ namespace NzbDrone.Core.Providers
|
||||||
|
|
||||||
public virtual Episode GetEpisode(long id)
|
public virtual Episode GetEpisode(long id)
|
||||||
{
|
{
|
||||||
return _sonicRepo.Single<Episode>(id);
|
return _repository.Single<Episode>(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Episode GetEpisode(int seriesId, int seasonNumber, int episodeNumber)
|
public virtual Episode GetEpisode(int seriesId, int seasonNumber, int episodeNumber)
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
_sonicRepo.Single<Episode>(
|
_repository.Single<Episode>(
|
||||||
c => c.SeriesId == seriesId && c.SeasonNumber == seasonNumber && c.EpisodeNumber == episodeNumber);
|
c => c.SeriesId == seriesId && c.SeasonNumber == seasonNumber && c.EpisodeNumber == episodeNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Episode GetEpisode(int seriesId, DateTime date)
|
public virtual Episode GetEpisode(int seriesId, DateTime date)
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
_sonicRepo.Single<Episode>(
|
_repository.Single<Episode>(
|
||||||
c => c.SeriesId == seriesId && c.AirDate == date.Date);
|
c => c.SeriesId == seriesId && c.AirDate == date.Date);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual IList<Episode> GetEpisodeBySeries(long seriesId)
|
public virtual IList<Episode> GetEpisodeBySeries(long seriesId)
|
||||||
{
|
{
|
||||||
return _sonicRepo.Find<Episode>(e => e.SeriesId == seriesId);
|
return _repository.Find<Episode>(e => e.SeriesId == seriesId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual IList<Episode> GetEpisodeBySeason(long seasonId)
|
public virtual IList<Episode> GetEpisodeBySeason(long seasonId)
|
||||||
{
|
{
|
||||||
return _sonicRepo.Find<Episode>(e => e.SeasonId == seasonId);
|
return _repository.Find<Episode>(e => e.SeasonId == seasonId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual IList<Episode> GetEpisodeByParseResult(EpisodeParseResult parseResult)
|
public virtual IList<Episode> GetEpisodeByParseResult(EpisodeParseResult parseResult)
|
||||||
{
|
{
|
||||||
var seasonEpisodes = _sonicRepo.All<Episode>().Where(e =>
|
var seasonEpisodes = _repository.All<Episode>().Where(e =>
|
||||||
e.SeriesId == parseResult.SeriesId &&
|
e.SeriesId == parseResult.SeriesId &&
|
||||||
e.SeasonNumber == parseResult.SeasonNumber).ToList();
|
e.SeasonNumber == parseResult.SeasonNumber).ToList();
|
||||||
|
|
||||||
|
@ -102,7 +96,7 @@ namespace NzbDrone.Core.Providers
|
||||||
Language = "en"
|
Language = "en"
|
||||||
};
|
};
|
||||||
|
|
||||||
_sonicRepo.Add(episodeInfo);
|
_repository.Add(episodeInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,7 +145,7 @@ namespace NzbDrone.Core.Providers
|
||||||
Logger.Info("Starting episode info refresh for series:{0}", seriesId);
|
Logger.Info("Starting episode info refresh for series:{0}", seriesId);
|
||||||
int successCount = 0;
|
int successCount = 0;
|
||||||
int failCount = 0;
|
int failCount = 0;
|
||||||
var targetSeries = _tvDb.GetSeries(seriesId, true);
|
var targetSeries = _tvDbProvider.GetSeries(seriesId, true);
|
||||||
|
|
||||||
var updateList = new List<Episode>();
|
var updateList = new List<Episode>();
|
||||||
var newList = new List<Episode>();
|
var newList = new List<Episode>();
|
||||||
|
@ -159,7 +153,7 @@ namespace NzbDrone.Core.Providers
|
||||||
Logger.Debug("Updating season info for series:{0}", targetSeries.SeriesName);
|
Logger.Debug("Updating season info for series:{0}", targetSeries.SeriesName);
|
||||||
targetSeries.Episodes.Select(e => new { e.SeasonId, e.SeasonNumber })
|
targetSeries.Episodes.Select(e => new { e.SeasonId, e.SeasonNumber })
|
||||||
.Distinct().ToList()
|
.Distinct().ToList()
|
||||||
.ForEach(s => _seasons.EnsureSeason(seriesId, s.SeasonId, s.SeasonNumber));
|
.ForEach(s => _seasonsProvider.EnsureSeason(seriesId, s.SeasonId, s.SeasonNumber));
|
||||||
|
|
||||||
foreach (var episode in targetSeries.Episodes)
|
foreach (var episode in targetSeries.Episodes)
|
||||||
{
|
{
|
||||||
|
@ -214,8 +208,8 @@ namespace NzbDrone.Core.Providers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_sonicRepo.AddMany(newList);
|
_repository.AddMany(newList);
|
||||||
_sonicRepo.UpdateMany(updateList);
|
_repository.UpdateMany(updateList);
|
||||||
|
|
||||||
Logger.Debug("Finished episode refresh for series:{0}. Successful:{1} - Failed:{2} ",
|
Logger.Debug("Finished episode refresh for series:{0}. Successful:{1} - Failed:{2} ",
|
||||||
targetSeries.SeriesName, successCount, failCount);
|
targetSeries.SeriesName, successCount, failCount);
|
||||||
|
@ -223,12 +217,12 @@ namespace NzbDrone.Core.Providers
|
||||||
|
|
||||||
public virtual void DeleteEpisode(int episodeId)
|
public virtual void DeleteEpisode(int episodeId)
|
||||||
{
|
{
|
||||||
_sonicRepo.Delete<Episode>(episodeId);
|
_repository.Delete<Episode>(episodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void UpdateEpisode(Episode episode)
|
public virtual void UpdateEpisode(Episode episode)
|
||||||
{
|
{
|
||||||
_sonicRepo.Update(episode);
|
_repository.Update(episode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} |