2014-06-29 10:35:05 -07:00
|
|
|
|
using MediaBrowser.Common.Configuration;
|
|
|
|
|
using MediaBrowser.Common.Extensions;
|
2014-06-09 12:16:14 -07:00
|
|
|
|
using MediaBrowser.Controller.Chapters;
|
|
|
|
|
using MediaBrowser.Controller.Configuration;
|
|
|
|
|
using MediaBrowser.Controller.Entities;
|
|
|
|
|
using MediaBrowser.Controller.Entities.Movies;
|
|
|
|
|
using MediaBrowser.Controller.Entities.TV;
|
|
|
|
|
using MediaBrowser.Controller.Library;
|
2014-06-10 10:36:06 -07:00
|
|
|
|
using MediaBrowser.Controller.Persistence;
|
2014-06-09 12:16:14 -07:00
|
|
|
|
using MediaBrowser.Controller.Providers;
|
2014-06-29 10:35:05 -07:00
|
|
|
|
using MediaBrowser.Model.Configuration;
|
2014-06-10 10:36:06 -07:00
|
|
|
|
using MediaBrowser.Model.Entities;
|
2014-06-09 12:16:14 -07:00
|
|
|
|
using MediaBrowser.Model.Logging;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace MediaBrowser.Providers.Chapters
|
|
|
|
|
{
|
|
|
|
|
public class ChapterManager : IChapterManager
|
|
|
|
|
{
|
|
|
|
|
private readonly ILibraryManager _libraryManager;
|
|
|
|
|
private readonly ILogger _logger;
|
|
|
|
|
private readonly IServerConfigurationManager _config;
|
2014-06-10 10:36:06 -07:00
|
|
|
|
private readonly IItemRepository _itemRepo;
|
2014-06-09 12:16:14 -07:00
|
|
|
|
|
2014-06-10 10:36:06 -07:00
|
|
|
|
public ChapterManager(ILibraryManager libraryManager, ILogger logger, IServerConfigurationManager config, IItemRepository itemRepo)
|
2014-06-09 12:16:14 -07:00
|
|
|
|
{
|
|
|
|
|
_libraryManager = libraryManager;
|
|
|
|
|
_logger = logger;
|
|
|
|
|
_config = config;
|
2014-06-10 10:36:06 -07:00
|
|
|
|
_itemRepo = itemRepo;
|
2014-06-09 12:16:14 -07:00
|
|
|
|
}
|
|
|
|
|
|
2014-06-10 10:36:06 -07:00
|
|
|
|
public IEnumerable<ChapterInfo> GetChapters(string itemId)
|
|
|
|
|
{
|
|
|
|
|
return _itemRepo.GetChapters(new Guid(itemId));
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-11 13:12:01 -07:00
|
|
|
|
public Task SaveChapters(string itemId, List<ChapterInfo> chapters, CancellationToken cancellationToken)
|
2014-06-10 10:36:06 -07:00
|
|
|
|
{
|
|
|
|
|
return _itemRepo.SaveChapters(new Guid(itemId), chapters, cancellationToken);
|
|
|
|
|
}
|
2014-06-29 10:35:05 -07:00
|
|
|
|
|
|
|
|
|
public ChapterOptions GetConfiguration()
|
|
|
|
|
{
|
|
|
|
|
return _config.GetConfiguration<ChapterOptions>("chapters");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class ChapterConfigurationStore : IConfigurationFactory
|
|
|
|
|
{
|
|
|
|
|
public IEnumerable<ConfigurationStore> GetConfigurations()
|
|
|
|
|
{
|
|
|
|
|
return new List<ConfigurationStore>
|
|
|
|
|
{
|
|
|
|
|
new ConfigurationStore
|
|
|
|
|
{
|
|
|
|
|
Key = "chapters",
|
|
|
|
|
ConfigurationType = typeof (ChapterOptions)
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
2014-06-09 12:16:14 -07:00
|
|
|
|
}
|
|
|
|
|
}
|