/// <summary>
        /// Initializes a new instance of the <see cref="RuntimeInfoMiddleware"/> class
        /// </summary>
        /// <param name="next"></param>
        /// <param name="options"></param>
        public RuntimeInfoMiddleware(
            RequestDelegate next,
            RuntimeInfoPageOptions options,
            ILibraryManager libraryManager,
            IRuntimeEnvironment runtimeEnvironment)
        {
            if (next == null)
            {
                throw new ArgumentNullException(nameof(next));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (libraryManager == null)
            {
                throw new ArgumentNullException(nameof(libraryManager));
            }

            if (runtimeEnvironment == null)
            {
                throw new ArgumentNullException(nameof(runtimeEnvironment));
            }

            _next = next;
            _options = options;
            _libraryManager = libraryManager;
            _runtimeEnvironment = runtimeEnvironment;
        }
Exemplo n.º 2
0
 public CollectionManager(ILibraryManager libraryManager, IFileSystem fileSystem, ILibraryMonitor iLibraryMonitor, ILogger logger)
 {
     _libraryManager = libraryManager;
     _fileSystem = fileSystem;
     _iLibraryMonitor = iLibraryMonitor;
     _logger = logger;
 }
Exemplo n.º 3
0
        /// <summary>
        /// Sets the initial item values.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="parent">The parent.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="libraryManager">The library manager.</param>
        /// <param name="directoryService">The directory service.</param>
        /// <exception cref="System.ArgumentException">Item must have a path</exception>
        public static void SetInitialItemValues(BaseItem item, Folder parent, IFileSystem fileSystem, ILibraryManager libraryManager, IDirectoryService directoryService)
        {
            // This version of the below method has no ItemResolveArgs, so we have to require the path already being set
            if (string.IsNullOrWhiteSpace(item.Path))
            {
                throw new ArgumentException("Item must have a Path");
            }

            // If the resolver didn't specify this
            if (parent != null)
            {
                item.Parent = parent;
            }

            item.Id = libraryManager.GetNewItemId(item.Path, item.GetType());

            item.IsLocked = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
                item.Parents.Any(i => i.IsLocked);

            // Make sure DateCreated and DateModified have values
            var fileInfo = directoryService.GetFile(item.Path);
            item.DateModified = fileSystem.GetLastWriteTimeUtc(fileInfo);
            SetDateCreated(item, fileSystem, fileInfo);

            EnsureName(item, fileInfo);
        }
Exemplo n.º 4
0
 public Startup(IHostingEnvironment hostingEnvironment, IApplicationEnvironment applicationEnvironment, IAssemblyLoaderContainer assemblyLoaderContainer, IAssemblyLoadContextAccessor assemblyLoadContextAccessor, ILibraryManager libraryManager)
 {
   this.applicationBasePath = applicationEnvironment.ApplicationBasePath;
   this.assemblyLoaderContainer = assemblyLoaderContainer;
   this.assemblyLoadContextAccessor = assemblyLoadContextAccessor;
   this.libraryManager = libraryManager;
 }
Exemplo n.º 5
0
        /// <summary>
        /// Sets the initial item values.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="args">The args.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="libraryManager">The library manager.</param>
        public static void SetInitialItemValues(BaseItem item, ItemResolveArgs args, IFileSystem fileSystem, ILibraryManager libraryManager)
        {
            // If the resolver didn't specify this
            if (string.IsNullOrEmpty(item.Path))
            {
                item.Path = args.Path;
            }

            // If the resolver didn't specify this
            if (args.Parent != null)
            {
                item.Parent = args.Parent;
            }

            item.Id = libraryManager.GetNewItemId(item.Path, item.GetType());

            // Make sure the item has a name
            EnsureName(item, args.FileInfo);

            item.IsLocked = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
                item.Parents.Any(i => i.IsLocked);

            // Make sure DateCreated and DateModified have values
            EnsureDates(fileSystem, item, args, true);
        }
Exemplo n.º 6
0
        public void Configure(IBuilder app, ILibraryManager libManager, IApplicationShutdown shutdown)
        {
            var web = libManager.GetLibraryInformation("Runt.Web");

            Console.WriteLine("Path: " + web.Path);
            Console.WriteLine("Name: " + web.Name);
            var fileSystem = new PhysicalFileSystem(Path.GetDirectoryName(web.Path));

            app.UseServices(services =>
            {
                services.AddSignalR();
                services.AddSingleton<IEditor, Editor>();
            });

            app.UseSignalR("/io", typeof(RuntConnection), new ConnectionConfiguration
            {
                EnableJSONP = false
            });
            app.UseDefaultFiles(new DefaultFilesOptions
            {
                FileSystem = fileSystem
            });
            app.UseStaticFiles(new StaticFileOptions
            {
                FileSystem = fileSystem,
                ContentTypeProvider = contentTypeProvider,
                ServeUnknownFileTypes = true
            });
            app.UseDirectoryBrowser(new DirectoryBrowserOptions
            {
                FileSystem = fileSystem
            });
        }
Exemplo n.º 7
0
 public EncodingJobFactory(ILogger logger, ILibraryManager libraryManager, IMediaSourceManager mediaSourceManager, IConfigurationManager config)
 {
     _logger = logger;
     _libraryManager = libraryManager;
     _mediaSourceManager = mediaSourceManager;
     _config = config;
 }
Exemplo n.º 8
0
 public Program(ILibraryManager libraryManager)
 {
     foreach (var lib in libraryManager.GetLibraries())
     {
         Console.WriteLine(lib.Name);
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MoviesService"/> class.
 /// </summary>
 /// <param name="userManager">The user manager.</param>
 /// <param name="userDataRepository">The user data repository.</param>
 /// <param name="libraryManager">The library manager.</param>
 public MoviesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
 {
     _userManager = userManager;
     _userDataRepository = userDataRepository;
     _libraryManager = libraryManager;
     _itemRepo = itemRepo;
 }
Exemplo n.º 10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindow" /> class.
        /// </summary>
        /// <param name="logManager">The log manager.</param>
        /// <param name="appHost">The app host.</param>
        /// <param name="configurationManager">The configuration manager.</param>
        /// <param name="userManager">The user manager.</param>
        /// <param name="libraryManager">The library manager.</param>
        /// <param name="jsonSerializer">The json serializer.</param>
        /// <param name="displayPreferencesManager">The display preferences manager.</param>
        /// <exception cref="System.ArgumentNullException">logger</exception>
        public MainWindow(ILogManager logManager, IServerApplicationHost appHost, IServerConfigurationManager configurationManager, IUserManager userManager, ILibraryManager libraryManager, IJsonSerializer jsonSerializer, IDisplayPreferencesRepository displayPreferencesManager)
        {
            if (logManager == null)
            {
                throw new ArgumentNullException("logManager");
            }
            if (appHost == null)
            {
                throw new ArgumentNullException("appHost");
            }
            if (configurationManager == null)
            {
                throw new ArgumentNullException("configurationManager");
            }

            _logger = logManager.GetLogger("MainWindow");
            _appHost = appHost;
            _logManager = logManager;
            _configurationManager = configurationManager;
            _userManager = userManager;
            _libraryManager = libraryManager;
            _jsonSerializer = jsonSerializer;
            _displayPreferencesManager = displayPreferencesManager;

            InitializeComponent();

            Loaded += MainWindowLoaded;
        }
Exemplo n.º 11
0
 public ChannelPostScanTask(IChannelManager channelManager, IUserManager userManager, ILogger logger, ILibraryManager libraryManager)
 {
     _channelManager = channelManager;
     _userManager = userManager;
     _logger = logger;
     _libraryManager = libraryManager;
 }
Exemplo n.º 12
0
        public OrchardLibraryManager(ILibraryManager libraryManager)
        {
            _libraryManager = libraryManager;

            AdditionalLibraries = new List<Library>();
            MetadataReferences = new List<IMetadataReference>();
        }
Exemplo n.º 13
0
 public DtoBuilder(ILogger logger, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
 {
     _logger = logger;
     _libraryManager = libraryManager;
     _userDataRepository = userDataRepository;
     _itemRepo = itemRepo;
 }
Exemplo n.º 14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PeopleValidator" /> class.
 /// </summary>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="logger">The logger.</param>
 public PeopleValidator(ILibraryManager libraryManager, ILogger logger, IServerConfigurationManager config, IFileSystem fileSystem)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _config = config;
     _fileSystem = fileSystem;
 }
Exemplo n.º 15
0
 public EpisodeXmlProvider(IItemRepository itemRepository, IServerConfigurationManager config, ILibraryManager libraryManager, IFileSystem fileSystem)
 {
     _itemRepository = itemRepository;
     _config = config;
     _libraryManager = libraryManager;
     _fileSystem = fileSystem;
 }
Exemplo n.º 16
0
 public InstantMixService(IUserManager userManager, IDtoService dtoService, IMusicManager musicManager, ILibraryManager libraryManager)
 {
     _userManager = userManager;
     _dtoService = dtoService;
     _musicManager = musicManager;
     _libraryManager = libraryManager;
 }
Exemplo n.º 17
0
        public SearchEngine(ILogManager logManager, ILibraryManager libraryManager, IUserManager userManager)
        {
            _libraryManager = libraryManager;
            _userManager = userManager;

            _logger = logManager.GetLogger("Lucene");
        }
Exemplo n.º 18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LastfmArtistProvider"/> class.
 /// </summary>
 /// <param name="jsonSerializer">The json serializer.</param>
 /// <param name="httpClient">The HTTP client.</param>
 /// <param name="logManager">The log manager.</param>
 /// <param name="configurationManager">The configuration manager.</param>
 /// <param name="providerManager">The provider manager.</param>
 /// <param name="libraryManager">The library manager.</param>
 public LastfmArtistProvider(IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IServerConfigurationManager configurationManager, IProviderManager providerManager, ILibraryManager libraryManager)
     : base(jsonSerializer, httpClient, logManager, configurationManager)
 {
     _providerManager = providerManager;
     LibraryManager = libraryManager;
     LocalMetaFileName = LastfmHelper.LocalArtistMetaFileName;
 }
Exemplo n.º 19
0
 private static IEnumerable<object> MultiInstanceFactory(Type serviceType, ILibraryManager libraryManager)
 {
     return libraryManager.GetAssemblies()
         .SelectMany(s => s.ExportedTypes)
         .Where(t => serviceType.GetTypeInfo().IsAssignableFrom(t.GetTypeInfo()))
         .Select(type => Activator.CreateInstance(type, Console.Out));
 }
 public SubtitleScheduledTask(ILibraryManager libraryManager, IServerConfigurationManager config, ISubtitleManager subtitleManager, ILogger logger)
 {
     _libraryManager = libraryManager;
     _config = config;
     _subtitleManager = subtitleManager;
     _logger = logger;
 }
Exemplo n.º 21
0
        public OrchardLibraryManager(ILibraryManager libraryManager) {
            _libraryManager = libraryManager;

            AdditionalRegistrations = new List<LibraryDescription>();
            AdditionalLibraryExportRegistrations = new Dictionary<string, ILibraryExport>();
            MetadataReferences = new Dictionary<string, IMetadataReference>();
        }
 public DummySeasonProvider(IServerConfigurationManager config, ILogger logger, ILocalizationManager localization, ILibraryManager libraryManager)
 {
     _config = config;
     _logger = logger;
     _localization = localization;
     _libraryManager = libraryManager;
 }
Exemplo n.º 23
0
 public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger)
 {
     _libraryManager = libraryManager;
     _repo = repo;
     _imageProcessor = imageProcessor;
     _logger = logger;
 }
 public LocalTrailerDownloadTask(ILibraryManager libraryManager, ILogger logger, ILibraryMonitor libraryMonitor, IChannelManager channelManager)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _channelManager = channelManager;
     _libraryMonitor = libraryMonitor;
 }
Exemplo n.º 25
0
 public MissingEpisodeProvider(ILogger logger, IServerConfigurationManager config, ILibraryManager libraryManager, ILocalizationManager localization)
 {
     _logger = logger;
     _config = config;
     _libraryManager = libraryManager;
     _localization = localization;
 }
Exemplo n.º 26
0
 public TVSeriesManager(IUserManager userManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IServerConfigurationManager config)
 {
     _userManager = userManager;
     _userDataManager = userDataManager;
     _libraryManager = libraryManager;
     _config = config;
 }
Exemplo n.º 27
0
 public RefreshChannelsScheduledTask(IChannelManager channelManager, IUserManager userManager, ILogger logger, ILibraryManager libraryManager)
 {
     _channelManager = channelManager;
     _userManager = userManager;
     _logger = logger;
     _libraryManager = libraryManager;
 }
Exemplo n.º 28
0
 public DlnaEntryPoint(IServerConfigurationManager config, 
     ILogManager logManager, 
     IServerApplicationHost appHost, 
     INetworkManager network, 
     ISessionManager sessionManager, 
     IHttpClient httpClient, 
     ILibraryManager libraryManager, 
     IUserManager userManager, 
     IDlnaManager dlnaManager, 
     IImageProcessor imageProcessor, 
     IUserDataManager userDataManager, 
     ILocalizationManager localization, 
     IMediaSourceManager mediaSourceManager, 
     ISsdpHandler ssdpHandler)
 {
     _config = config;
     _appHost = appHost;
     _network = network;
     _sessionManager = sessionManager;
     _httpClient = httpClient;
     _libraryManager = libraryManager;
     _userManager = userManager;
     _dlnaManager = dlnaManager;
     _imageProcessor = imageProcessor;
     _userDataManager = userDataManager;
     _localization = localization;
     _mediaSourceManager = mediaSourceManager;
     _ssdpHandler = (SsdpHandler)ssdpHandler;
     _logger = logManager.GetLogger("Dlna");
 }
Exemplo n.º 29
0
 public ChapterManager(ILibraryManager libraryManager, ILogger logger, IServerConfigurationManager config, IItemRepository itemRepo)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _config = config;
     _itemRepo = itemRepo;
 }
Exemplo n.º 30
0
 public SharingManager(SharingRepository repository, IServerConfigurationManager config, ILibraryManager libraryManager, IServerApplicationHost appHost)
 {
     _repository = repository;
     _config = config;
     _libraryManager = libraryManager;
     _appHost = appHost;
 }
Exemplo n.º 31
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MovieResolver"/> class.
 /// </summary>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="imageProcessor">The image processor.</param>
 public MovieResolver(ILibraryManager libraryManager, IImageProcessor imageProcessor)
     : base(libraryManager)
 {
     _imageProcessor = imageProcessor;
 }
Exemplo n.º 32
0
 public GameGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataManager userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
     : base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
 {
 }
 public TrailerMetadataService(IServerConfigurationManager serverConfigurationManager, ILogger logger, IProviderManager providerManager, IFileSystem fileSystem, IUserDataManager userDataManager, ILibraryManager libraryManager) : base(serverConfigurationManager, logger, providerManager, fileSystem, userDataManager, libraryManager)
 {
 }
Exemplo n.º 34
0
 public AlbumsService(IUserManager userManager, IUserDataManager userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
 {
     _userManager        = userManager;
     _userDataRepository = userDataRepository;
     _libraryManager     = libraryManager;
     _itemRepo           = itemRepo;
     _dtoService         = dtoService;
 }
Exemplo n.º 35
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ArtistsValidator" /> class.
 /// </summary>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="logger">The logger.</param>
 /// <param name="itemRepo">The item repository.</param>
 public ArtistsValidator(ILibraryManager libraryManager, ILogger <ArtistsValidator> logger, IItemRepository itemRepo)
 {
     _libraryManager = libraryManager;
     _logger         = logger;
     _itemRepo       = itemRepo;
 }
Exemplo n.º 36
0
            public static StreamParams ParseFromUrl(string url, ILibraryManager libraryManager, IMediaSourceManager mediaSourceManager)
            {
                var request = new StreamParams
                {
                    ItemId = GetItemId(url)
                };

                Guid parsedId;

                if (string.IsNullOrWhiteSpace(request.ItemId) || !Guid.TryParse(request.ItemId, out parsedId))
                {
                    return(request);
                }

                const string srch  = "params=";
                var          index = url.IndexOf(srch, StringComparison.OrdinalIgnoreCase);

                if (index == -1)
                {
                    return(request);
                }

                var vals = url.Substring(index + srch.Length).Split(';');

                for (var i = 0; i < vals.Length; i++)
                {
                    var val = vals[i];

                    if (string.IsNullOrWhiteSpace(val))
                    {
                        continue;
                    }

                    if (i == 0)
                    {
                        request.DeviceProfileId = val;
                    }
                    else if (i == 1)
                    {
                        request.DeviceId = val;
                    }
                    else if (i == 2)
                    {
                        request.MediaSourceId = val;
                    }
                    else if (i == 3)
                    {
                        request.IsDirectStream = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
                    }
                    else if (i == 6)
                    {
                        request.AudioStreamIndex = int.Parse(val, CultureInfo.InvariantCulture);
                    }
                    else if (i == 7)
                    {
                        request.SubtitleStreamIndex = int.Parse(val, CultureInfo.InvariantCulture);
                    }
                    else if (i == 14)
                    {
                        request.StartPositionTicks = long.Parse(val, CultureInfo.InvariantCulture);
                    }
                }

                request.Item = string.IsNullOrWhiteSpace(request.ItemId)
                    ? null
                    : libraryManager.GetItemById(parsedId);

                var hasMediaSources = request.Item as IHasMediaSources;

                request.MediaSource = hasMediaSources == null ?
                                      null :
                                      mediaSourceManager.GetMediaSource(hasMediaSources, request.MediaSourceId, false).Result;



                return(request);
            }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="libraryManager"></param>
 /// <param name="loadContextAccessor"></param>
 public ReferencedAssemblyProvider(ILibraryManager libraryManager,
                                   IAssemblyLoadContextAccessor loadContextAccessor)
 {
     _libraryManager      = libraryManager;
     _loadContextAccessor = loadContextAccessor;
 }
Exemplo n.º 38
0
 public SubtitleService(ILibraryManager libraryManager, ISubtitleManager subtitleManager, ISubtitleEncoder subtitleEncoder)
 {
     _libraryManager  = libraryManager;
     _subtitleManager = subtitleManager;
     _subtitleEncoder = subtitleEncoder;
 }
Exemplo n.º 39
0
 public MissingEpisodeProvider(ILogger logger, IServerConfigurationManager config, ILibraryManager libraryManager, ILocalizationManager localization, IFileSystem fileSystem, IXmlReaderSettingsFactory xmlSettings)
 {
     _logger         = logger;
     _config         = config;
     _libraryManager = libraryManager;
     _localization   = localization;
     _fileSystem     = fileSystem;
     _xmlSettings    = xmlSettings;
 }
Exemplo n.º 40
0
 public TVSeriesManager(IUserManager userManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IServerConfigurationManager config)
 {
     _userManager     = userManager;
     _userDataManager = userDataManager;
     _libraryManager  = libraryManager;
     _config          = config;
 }
Exemplo n.º 41
0
 public MusicGenreMetadataService(IServerConfigurationManager serverConfigurationManager, ILogger logger, IProviderManager providerManager, IProviderRepository providerRepo, IFileSystem fileSystem, IUserDataManager userDataManager, ILibraryManager libraryManager) : base(serverConfigurationManager, logger, providerManager, providerRepo, fileSystem, userDataManager, libraryManager)
 {
 }
Exemplo n.º 42
0
 public DynamicImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, IUserManager userManager, ILibraryManager libraryManager)
     : base(fileSystem, providerManager, applicationPaths, imageProcessor)
 {
     _userManager    = userManager;
     _libraryManager = libraryManager;
 }
Exemplo n.º 43
0
 public MovieDbBoxSetProvider(ILogger logger, IJsonSerializer json, IServerConfigurationManager config, IFileSystem fileSystem, ILocalizationManager localization, IHttpClient httpClient, ILibraryManager libraryManager)
 {
     _logger         = logger;
     _json           = json;
     _config         = config;
     _fileSystem     = fileSystem;
     _localization   = localization;
     _httpClient     = httpClient;
     _libraryManager = libraryManager;
     Current         = this;
 }
Exemplo n.º 44
0
 public EpisodeNfoSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger) : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger)
 {
 }
Exemplo n.º 45
0
 public SearchEngine(ILogger <SearchEngine> logger, ILibraryManager libraryManager, IUserManager userManager)
 {
     _logger         = logger;
     _libraryManager = libraryManager;
     _userManager    = userManager;
 }
Exemplo n.º 46
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StudiosValidator" /> class.
 /// </summary>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="logger">The logger.</param>
 /// <param name="itemRepo">The item repository.</param>
 public StudiosValidator(ILibraryManager libraryManager, ILogger logger, IItemRepository itemRepo)
 {
     _libraryManager = libraryManager;
     _logger         = logger;
     _itemRepo       = itemRepo;
 }
Exemplo n.º 47
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="libraryManager"></param>
 public GameBrowserUriService(ILogger logger, ILibraryManager libraryManager)
 {
     _logger         = logger;
     _libraryManager = libraryManager;
 }
Exemplo n.º 48
0
 public TvdbSeriesProvider(IHttpClientFactory httpClientFactory, ILogger <TvdbSeriesProvider> logger, ILibraryManager libraryManager, ILocalizationManager localizationManager, TvdbClientManager tvdbClientManager)
 {
     _httpClientFactory   = httpClientFactory;
     _logger              = logger;
     _libraryManager      = libraryManager;
     _localizationManager = localizationManager;
     Current              = this;
     _tvdbClientManager   = tvdbClientManager;
 }
Exemplo n.º 49
0
 public RemoteImageService(IProviderManager providerManager, IDtoService dtoService, IServerApplicationPaths appPaths, IHttpClient httpClient, IFileSystem fileSystem, ILibraryManager libraryManager)
 {
     _providerManager = providerManager;
     _dtoService      = dtoService;
     _appPaths        = appPaths;
     _httpClient      = httpClient;
     _fileSystem      = fileSystem;
     _libraryManager  = libraryManager;
 }
Exemplo n.º 50
0
 public LiveTvDtoService(IDtoService dtoService, IImageProcessor imageProcessor, ILogger logger, IApplicationHost appHost, ILibraryManager libraryManager)
 {
     _dtoService     = dtoService;
     _imageProcessor = imageProcessor;
     _logger         = logger;
     _appHost        = appHost;
     _libraryManager = libraryManager;
 }
Exemplo n.º 51
0
        /// <summary>
        /// Sets the initial item values.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="args">The args.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="libraryManager">The library manager.</param>
        public static void SetInitialItemValues(BaseItem item, ItemResolveArgs args, IFileSystem fileSystem, ILibraryManager libraryManager)
        {
            // If the resolver didn't specify this
            if (string.IsNullOrEmpty(item.Path))
            {
                item.Path = args.Path;
            }

            // If the resolver didn't specify this
            if (args.Parent != null)
            {
                item.SetParent(args.Parent);
            }

            item.Id = libraryManager.GetNewItemId(item.Path, item.GetType());

            // Make sure the item has a name
            EnsureName(item, args.FileInfo);

            item.IsLocked = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
                            item.GetParents().Any(i => i.IsLocked);

            // Make sure DateCreated and DateModified have values
            EnsureDates(fileSystem, item, args);
        }
Exemplo n.º 52
0
 public MusicAlbumResolver(ILogger logger, IFileSystem fileSystem, ILibraryManager libraryManager)
 {
     _logger         = logger;
     _fileSystem     = fileSystem;
     _libraryManager = libraryManager;
 }
Exemplo n.º 53
0
        /// <summary>
        /// Adds the common nodes.
        /// </summary>
        /// <returns>Task.</returns>
        private void AddCommonNodes(BaseItem item, XmlWriter writer, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataRepo, IFileSystem fileSystem, IServerConfigurationManager config)
        {
            var writtenProviderIds = new HashSet <string>(StringComparer.OrdinalIgnoreCase);

            var overview = (item.Overview ?? string.Empty)
                           .StripHtml()
                           .Replace("&quot;", "'");

            var options = config.GetNfoConfiguration();

            if (item is MusicArtist)
            {
                writer.WriteElementString("biography", overview);
            }
            else if (item is MusicAlbum)
            {
                writer.WriteElementString("review", overview);
            }
            else
            {
                writer.WriteElementString("plot", overview);
            }

            if (item is Video)
            {
                var outline = (item.Tagline ?? string.Empty)
                              .StripHtml()
                              .Replace("&quot;", "'");

                writer.WriteElementString("outline", outline);
            }
            else
            {
                writer.WriteElementString("outline", overview);
            }

            if (!string.IsNullOrWhiteSpace(item.CustomRating))
            {
                writer.WriteElementString("customrating", item.CustomRating);
            }

            writer.WriteElementString("lockdata", item.IsLocked.ToString().ToLower());

            if (item.LockedFields.Length > 0)
            {
                writer.WriteElementString("lockedfields", string.Join("|", item.LockedFields));
            }

            writer.WriteElementString("dateadded", item.DateCreated.ToLocalTime().ToString(DateAddedFormat));

            writer.WriteElementString("title", item.Name ?? string.Empty);

            if (!string.IsNullOrWhiteSpace(item.OriginalTitle))
            {
                writer.WriteElementString("originaltitle", item.OriginalTitle);
            }

            var people = libraryManager.GetPeople(item);

            var directors = people
                            .Where(i => IsPersonType(i, PersonType.Director))
                            .Select(i => i.Name)
                            .ToList();

            foreach (var person in directors)
            {
                writer.WriteElementString("director", person);
            }

            var writers = people
                          .Where(i => IsPersonType(i, PersonType.Writer))
                          .Select(i => i.Name)
                          .Distinct(StringComparer.OrdinalIgnoreCase)
                          .ToList();

            foreach (var person in writers)
            {
                writer.WriteElementString("writer", person);
            }

            foreach (var person in writers)
            {
                writer.WriteElementString("credits", person);
            }

            var hasTrailer = item as IHasTrailers;

            if (hasTrailer != null)
            {
                foreach (var trailer in hasTrailer.RemoteTrailers)
                {
                    writer.WriteElementString("trailer", GetOutputTrailerUrl(trailer.Url));
                }
            }

            if (item.CommunityRating.HasValue)
            {
                writer.WriteElementString("rating", item.CommunityRating.Value.ToString(UsCulture));
            }

            if (item.ProductionYear.HasValue)
            {
                writer.WriteElementString("year", item.ProductionYear.Value.ToString(UsCulture));
            }

            var forcedSortName = item.ForcedSortName;

            if (!string.IsNullOrEmpty(forcedSortName))
            {
                writer.WriteElementString("sorttitle", forcedSortName);
            }

            if (!string.IsNullOrEmpty(item.OfficialRating))
            {
                writer.WriteElementString("mpaa", item.OfficialRating);
            }

            var hasAspectRatio = item as IHasAspectRatio;

            if (hasAspectRatio != null)
            {
                if (!string.IsNullOrEmpty(hasAspectRatio.AspectRatio))
                {
                    writer.WriteElementString("aspectratio", hasAspectRatio.AspectRatio);
                }
            }

            if (!string.IsNullOrEmpty(item.HomePageUrl))
            {
                writer.WriteElementString("website", item.HomePageUrl);
            }

            var tmdbCollection = item.GetProviderId(MetadataProviders.TmdbCollection);

            if (!string.IsNullOrEmpty(tmdbCollection))
            {
                writer.WriteElementString("collectionnumber", tmdbCollection);
                writtenProviderIds.Add(MetadataProviders.TmdbCollection.ToString());
            }

            var imdb = item.GetProviderId(MetadataProviders.Imdb);

            if (!string.IsNullOrEmpty(imdb))
            {
                if (item is Series)
                {
                    writer.WriteElementString("imdb_id", imdb);
                }
                else
                {
                    writer.WriteElementString("imdbid", imdb);
                }
                writtenProviderIds.Add(MetadataProviders.Imdb.ToString());
            }

            // Series xml saver already saves this
            if (!(item is Series))
            {
                var tvdb = item.GetProviderId(MetadataProviders.Tvdb);
                if (!string.IsNullOrEmpty(tvdb))
                {
                    writer.WriteElementString("tvdbid", tvdb);
                    writtenProviderIds.Add(MetadataProviders.Tvdb.ToString());
                }
            }

            var tmdb = item.GetProviderId(MetadataProviders.Tmdb);

            if (!string.IsNullOrEmpty(tmdb))
            {
                writer.WriteElementString("tmdbid", tmdb);
                writtenProviderIds.Add(MetadataProviders.Tmdb.ToString());
            }

            if (!string.IsNullOrEmpty(item.PreferredMetadataLanguage))
            {
                writer.WriteElementString("language", item.PreferredMetadataLanguage);
            }
            if (!string.IsNullOrEmpty(item.PreferredMetadataCountryCode))
            {
                writer.WriteElementString("countrycode", item.PreferredMetadataCountryCode);
            }

            if (item.PremiereDate.HasValue && !(item is Episode))
            {
                var formatString = options.ReleaseDateFormat;

                if (item is MusicArtist)
                {
                    writer.WriteElementString("formed", item.PremiereDate.Value.ToLocalTime().ToString(formatString));
                }
                else
                {
                    writer.WriteElementString("premiered", item.PremiereDate.Value.ToLocalTime().ToString(formatString));
                    writer.WriteElementString("releasedate", item.PremiereDate.Value.ToLocalTime().ToString(formatString));
                }
            }

            if (item.EndDate.HasValue)
            {
                if (!(item is Episode))
                {
                    var formatString = options.ReleaseDateFormat;

                    writer.WriteElementString("enddate", item.EndDate.Value.ToLocalTime().ToString(formatString));
                }
            }

            if (item.CriticRating.HasValue)
            {
                writer.WriteElementString("criticrating", item.CriticRating.Value.ToString(UsCulture));
            }

            var hasDisplayOrder = item as IHasDisplayOrder;

            if (hasDisplayOrder != null)
            {
                if (!string.IsNullOrEmpty(hasDisplayOrder.DisplayOrder))
                {
                    writer.WriteElementString("displayorder", hasDisplayOrder.DisplayOrder);
                }
            }

            // Use original runtime here, actual file runtime later in MediaInfo
            var runTimeTicks = item.RunTimeTicks;

            if (runTimeTicks.HasValue)
            {
                var timespan = TimeSpan.FromTicks(runTimeTicks.Value);

                writer.WriteElementString("runtime", Convert.ToInt32(timespan.TotalMinutes).ToString(UsCulture));
            }

            if (!string.IsNullOrWhiteSpace(item.Tagline))
            {
                writer.WriteElementString("tagline", item.Tagline);
            }

            foreach (var country in item.ProductionLocations)
            {
                writer.WriteElementString("country", country);
            }

            foreach (var genre in item.Genres)
            {
                writer.WriteElementString("genre", genre);
            }

            foreach (var studio in item.Studios)
            {
                writer.WriteElementString("studio", studio);
            }

            foreach (var tag in item.Tags)
            {
                if (item is MusicAlbum || item is MusicArtist)
                {
                    writer.WriteElementString("style", tag);
                }
                else
                {
                    writer.WriteElementString("tag", tag);
                }
            }

            var externalId = item.GetProviderId(MetadataProviders.AudioDbArtist);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("audiodbartistid", externalId);
                writtenProviderIds.Add(MetadataProviders.AudioDbArtist.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.AudioDbAlbum);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("audiodbalbumid", externalId);
                writtenProviderIds.Add(MetadataProviders.AudioDbAlbum.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.Zap2It);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("zap2itid", externalId);
                writtenProviderIds.Add(MetadataProviders.Zap2It.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.MusicBrainzAlbum);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("musicbrainzalbumid", externalId);
                writtenProviderIds.Add(MetadataProviders.MusicBrainzAlbum.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.MusicBrainzAlbumArtist);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("musicbrainzalbumartistid", externalId);
                writtenProviderIds.Add(MetadataProviders.MusicBrainzAlbumArtist.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.MusicBrainzArtist);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("musicbrainzartistid", externalId);
                writtenProviderIds.Add(MetadataProviders.MusicBrainzArtist.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.MusicBrainzReleaseGroup);

            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("musicbrainzreleasegroupid", externalId);
                writtenProviderIds.Add(MetadataProviders.MusicBrainzReleaseGroup.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.Gamesdb);
            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("gamesdbid", externalId);
                writtenProviderIds.Add(MetadataProviders.Gamesdb.ToString());
            }

            externalId = item.GetProviderId(MetadataProviders.TvRage);
            if (!string.IsNullOrEmpty(externalId))
            {
                writer.WriteElementString("tvrageid", externalId);
                writtenProviderIds.Add(MetadataProviders.TvRage.ToString());
            }

            if (item.ProviderIds != null)
            {
                foreach (var providerKey in item.ProviderIds.Keys)
                {
                    var providerId = item.ProviderIds[providerKey];
                    if (!string.IsNullOrEmpty(providerId) && !writtenProviderIds.Contains(providerKey))
                    {
                        try
                        {
                            var tagName = GetTagForProviderKey(providerKey);
                            //Logger.Debug("Verifying custom provider tagname {0}", tagName);
                            XmlConvert.VerifyName(tagName);
                            //Logger.Debug("Saving custom provider tagname {0}", tagName);

                            writer.WriteElementString(GetTagForProviderKey(providerKey), providerId);
                        }
                        catch (ArgumentException)
                        {
                            // catch invalid names without failing the entire operation
                        }
                        catch (XmlException)
                        {
                            // catch invalid names without failing the entire operation
                        }
                    }
                }
            }

            if (options.SaveImagePathsInNfo)
            {
                AddImages(item, writer, libraryManager, config);
            }

            AddUserData(item, writer, userManager, userDataRepo, options);

            AddActors(people, writer, libraryManager, fileSystem, config, options.SaveImagePathsInNfo);

            var folder = item as BoxSet;

            if (folder != null)
            {
                AddCollectionItems(folder, writer);
            }
        }
Exemplo n.º 54
0
 public ChannelDownloadScheduledTask(IChannelManager manager, IServerConfigurationManager config, ILogger logger, IHttpClient httpClient, IFileSystem fileSystem, ILibraryManager libraryManager, IUserManager userManager, ISecurityManager security)
 {
     _manager        = manager;
     _config         = config;
     _logger         = logger;
     _httpClient     = httpClient;
     _fileSystem     = fileSystem;
     _libraryManager = libraryManager;
     _userManager    = userManager;
     _security       = security;
 }
Exemplo n.º 55
0
 public FFProbeProvider(ILogger logger, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IBlurayExaminer blurayExaminer, ILocalizationManager localization, IApplicationPaths appPaths, IJsonSerializer json, IEncodingManager encodingManager, IFileSystem fileSystem, IServerConfigurationManager config, ISubtitleManager subtitleManager, IChapterManager chapterManager, ILibraryManager libraryManager)
 {
     _logger          = logger;
     _isoManager      = isoManager;
     _mediaEncoder    = mediaEncoder;
     _itemRepo        = itemRepo;
     _blurayExaminer  = blurayExaminer;
     _localization    = localization;
     _appPaths        = appPaths;
     _json            = json;
     _encodingManager = encodingManager;
     _fileSystem      = fileSystem;
     _config          = config;
     _subtitleManager = subtitleManager;
     _chapterManager  = chapterManager;
     _libraryManager  = libraryManager;
 }
Exemplo n.º 56
0
        /// <summary>
        /// Sets the initial item values.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="parent">The parent.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="libraryManager">The library manager.</param>
        /// <param name="directoryService">The directory service.</param>
        /// <exception cref="System.ArgumentException">Item must have a path</exception>
        public static void SetInitialItemValues(BaseItem item, Folder parent, IFileSystem fileSystem, ILibraryManager libraryManager, IDirectoryService directoryService)
        {
            // This version of the below method has no ItemResolveArgs, so we have to require the path already being set
            if (string.IsNullOrWhiteSpace(item.Path))
            {
                throw new ArgumentException("Item must have a Path");
            }

            // If the resolver didn't specify this
            if (parent != null)
            {
                item.SetParent(parent);
            }

            item.Id = libraryManager.GetNewItemId(item.Path, item.GetType());

            item.IsLocked = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
                            item.GetParents().Any(i => i.IsLocked);

            // Make sure DateCreated and DateModified have values
            var fileInfo = directoryService.GetFile(item.Path);

            SetDateCreated(item, fileSystem, fileInfo);

            EnsureName(item, fileInfo);
        }
Exemplo n.º 57
0
 public SeasonXmlSaver(ILibraryManager libraryManager)
 {
     _libraryManager = libraryManager;
 }
Exemplo n.º 58
0
 protected BaseNfoSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
 {
     Logger = logger;
     XmlReaderSettingsFactory = xmlReaderSettingsFactory;
     UserDataManager          = userDataManager;
     UserManager          = userManager;
     LibraryManager       = libraryManager;
     ConfigurationManager = configurationManager;
     FileSystem           = fileSystem;
 }
Exemplo n.º 59
0
 public RefreshChannelsScheduledTask(IChannelManager channelManager, IUserManager userManager, ILogger logger, ILibraryManager libraryManager)
 {
     _channelManager = channelManager;
     _userManager    = userManager;
     _logger         = logger;
     _libraryManager = libraryManager;
 }
Exemplo n.º 60
0
 public UserViewsService(IUserManager userManager, IUserViewManager userViewManager, IDtoService dtoService, IAuthorizationContext authContext, ILibraryManager libraryManager)
 {
     _userManager     = userManager;
     _userViewManager = userViewManager;
     _dtoService      = dtoService;
     _authContext     = authContext;
     _libraryManager  = libraryManager;
 }