diff options
Diffstat (limited to 'MediaBrowser.Controller')
21 files changed, 168 insertions, 60 deletions
diff --git a/MediaBrowser.Controller/Drawing/ImageHeader.cs b/MediaBrowser.Controller/Drawing/ImageHeader.cs index 7cc63eee9..7fec7d4c5 100644 --- a/MediaBrowser.Controller/Drawing/ImageHeader.cs +++ b/MediaBrowser.Controller/Drawing/ImageHeader.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Controller.Drawing { @@ -36,9 +37,10 @@ namespace MediaBrowser.Controller.Drawing /// Gets the dimensions of an image. /// </summary> /// <param name="path">The path of the image to get the dimensions of.</param> + /// <param name="logger">The logger.</param> /// <returns>The dimensions of the specified image.</returns> /// <exception cref="ArgumentException">The image was of an unrecognised format.</exception> - public static Size GetDimensions(string path) + public static Size GetDimensions(string path, ILogger logger) { try { @@ -52,7 +54,7 @@ namespace MediaBrowser.Controller.Drawing } catch { - Logger.LogInfo("Failed to read image header for {0}. Doing it the slow way.", path); + logger.Info("Failed to read image header for {0}. Doing it the slow way.", path); using (var fs = File.OpenRead(path)) { diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs index 6dd641cba..c033fd1f4 100644 --- a/MediaBrowser.Controller/Drawing/ImageManager.cs +++ b/MediaBrowser.Controller/Drawing/ImageManager.cs @@ -276,7 +276,7 @@ namespace MediaBrowser.Controller.Drawing // Cache file doesn't exist no biggie } - var size = ImageHeader.GetDimensions(imagePath); + var size = ImageHeader.GetDimensions(imagePath, Logger); var imageSize = new ImageSize { Width = size.Width, Height = size.Height }; diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index e583e3a6a..b488f422c 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -16,6 +16,7 @@ using System.Runtime.Serialization; using System.Text; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Controller.Entities { @@ -94,6 +95,11 @@ namespace MediaBrowser.Controller.Entities public DateTime DateModified { get; set; } /// <summary> + /// The logger + /// </summary> + protected static ILogger Logger = LogManager.GetLogger("BaseItem"); + + /// <summary> /// Returns a <see cref="System.String" /> that represents this instance. /// </summary> /// <returns>A <see cref="System.String" /> that represents this instance.</returns> @@ -268,7 +274,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error creating resolve args for ", ex, Path); + Logger.ErrorException("Error creating resolve args for ", ex, Path); throw; } @@ -581,7 +587,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting ResolveArgs for {0}", ex, Path); + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); return new List<Video> { }; } @@ -606,7 +612,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error loading trailers for {0}", ex, Name); + Logger.ErrorException("Error loading trailers for {0}", ex, Name); return new List<Video> { }; } @@ -975,7 +981,7 @@ namespace MediaBrowser.Controller.Entities var changed = copy.DateModified != DateModified; if (changed) { - Logger.LogDebugInfo(Name + " changed - original creation: " + DateCreated + " new creation: " + copy.DateCreated + " original modified: " + DateModified + " new modified: " + copy.DateModified); + Logger.Debug(Name + " changed - original creation: " + DateCreated + " new creation: " + copy.DateCreated + " original modified: " + DateModified + " new modified: " + copy.DateModified); } return changed; } diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs index 5684f8e80..3f212a314 100644 --- a/MediaBrowser.Controller/Entities/CollectionFolder.cs +++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs @@ -83,7 +83,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error creating FolderIds for {0}", ex, Path); + Logger.ErrorException("Error creating FolderIds for {0}", ex, Path); folderIds = new Guid[] {}; } diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 8d2a68cb8..9795e5773 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -306,7 +306,7 @@ namespace MediaBrowser.Controller.Entities // Even though this implementation means multiple iterations over the target list - it allows us to defer // the retrieval of the individual children for each index value until they are requested. - using (new Profiler(indexName + " Index Build for " + Name)) + using (new Profiler(indexName + " Index Build for " + Name, Logger)) { // Put this in a local variable to avoid an implicitly captured closure var currentIndexName = indexName; @@ -325,12 +325,12 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting person {0}", ex, i); + Logger.ErrorException("Error getting person {0}", ex, i); return null; } catch (AggregateException ex) { - Logger.LogException("Error getting person {0}", ex, i); + Logger.ErrorException("Error getting person {0}", ex, i); return null; } }) @@ -351,7 +351,7 @@ namespace MediaBrowser.Controller.Entities { // Even though this implementation means multiple iterations over the target list - it allows us to defer // the retrieval of the individual children for each index value until they are requested. - using (new Profiler("Studio Index Build for " + Name)) + using (new Profiler("Studio Index Build for " + Name, Logger)) { var indexName = LocalizedStrings.Instance.GetString("StudioDispPref"); @@ -367,12 +367,12 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting studio {0}", ex, i); + Logger.ErrorException("Error getting studio {0}", ex, i); return null; } catch (AggregateException ex) { - Logger.LogException("Error getting studio {0}", ex, i); + Logger.ErrorException("Error getting studio {0}", ex, i); return null; } }) @@ -390,7 +390,7 @@ namespace MediaBrowser.Controller.Entities { // Even though this implementation means multiple iterations over the target list - it allows us to defer // the retrieval of the individual children for each index value until they are requested. - using (new Profiler("Genre Index Build for " + Name)) + using (new Profiler("Genre Index Build for " + Name, Logger)) { var indexName = LocalizedStrings.Instance.GetString("GenreDispPref"); @@ -407,12 +407,12 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting genre {0}", ex, i); + Logger.ErrorException("Error getting genre {0}", ex, i); return null; } catch (AggregateException ex) { - Logger.LogException("Error getting genre {0}", ex, i); + Logger.ErrorException("Error getting genre {0}", ex, i); return null; } }) @@ -431,7 +431,7 @@ namespace MediaBrowser.Controller.Entities { // Even though this implementation means multiple iterations over the target list - it allows us to defer // the retrieval of the individual children for each index value until they are requested. - using (new Profiler("Production Year Index Build for " + Name)) + using (new Profiler("Production Year Index Build for " + Name, Logger)) { var indexName = LocalizedStrings.Instance.GetString("YearDispPref"); @@ -448,12 +448,12 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting year {0}", ex, i); + Logger.ErrorException("Error getting year {0}", ex, i); return null; } catch (AggregateException ex) { - Logger.LogException("Error getting year {0}", ex, i); + Logger.ErrorException("Error getting year {0}", ex, i); return null; } }) @@ -639,7 +639,7 @@ namespace MediaBrowser.Controller.Entities } catch (OperationCanceledException ex) { - Logger.LogInfo("ValidateChildren cancelled for " + Name); + Logger.Info("ValidateChildren cancelled for " + Name); // If the outer cancelletion token in the cause for the cancellation, throw it if (cancellationToken.IsCancellationRequested && ex.CancellationToken == cancellationToken) @@ -734,7 +734,7 @@ namespace MediaBrowser.Controller.Entities foreach (var item in changedArgs.ItemsRemoved) { - Logger.LogInfo("** " + item.Name + " Removed from library."); + Logger.Info("** " + item.Name + " Removed from library."); } var childrenReplaced = false; @@ -749,7 +749,7 @@ namespace MediaBrowser.Controller.Entities foreach (var item in changedArgs.ItemsAdded) { - Logger.LogInfo("** " + item.Name + " Added to library."); + Logger.Info("** " + item.Name + " Added to library."); if (!childrenReplaced) { @@ -762,7 +762,7 @@ namespace MediaBrowser.Controller.Entities await Task.WhenAll(saveTasks).ConfigureAwait(false); //and save children in repo... - Logger.LogInfo("*** Saving " + newChildren.Count + " children for " + Name); + Logger.Info("*** Saving " + newChildren.Count + " children for " + Name); await Kernel.Instance.ItemRepository.SaveChildren(Id, newChildren, CancellationToken.None).ConfigureAwait(false); } @@ -860,7 +860,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting ResolveArgs for {0}", ex, Path); + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); return new List<BaseItem> { }; } @@ -1028,7 +1028,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting ResolveArgs for {0}", ex, Path); + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); } //this should be functionally equivilent to what was here since it is IEnum and works on a thread-safe copy @@ -1040,7 +1040,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogException("Error getting ResolveArgs for {0}", ex, Path); + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); return false; } }); diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index cc9bcb8d5..3ac4f60f5 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -161,7 +161,7 @@ namespace MediaBrowser.Controller.Entities.Movies } catch (IOException ex) { - Logger.LogException("Error getting ResolveArgs for {0}", ex, Path); + Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path); return new List<Video> { }; } @@ -179,7 +179,7 @@ namespace MediaBrowser.Controller.Entities.Movies } catch (IOException ex) { - Logger.LogException("Error loading trailers for {0}", ex, Name); + Logger.ErrorException("Error loading trailers for {0}", ex, Name); return new List<Video> { }; } diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index 92e268d4c..1d9e6c4d1 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -170,7 +170,7 @@ namespace MediaBrowser.Controller.Entities get { // Lazy load - LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<UserConfiguration>(ConfigurationFilePath)); + LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<UserConfiguration>(ConfigurationFilePath, Logger)); return _configuration; } private set @@ -208,7 +208,7 @@ namespace MediaBrowser.Controller.Entities /// <returns>Task.</returns> public async Task ValidateMediaLibrary(IProgress<TaskProgress> progress, CancellationToken cancellationToken) { - Logger.LogInfo("Validating media library for {0}", Name); + Logger.Info("Validating media library for {0}", Name); await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false); cancellationToken.ThrowIfCancellationRequested(); @@ -224,7 +224,7 @@ namespace MediaBrowser.Controller.Entities /// <returns>Task.</returns> public async Task ValidateCollectionFolders(IProgress<TaskProgress> progress, CancellationToken cancellationToken) { - Logger.LogInfo("Validating collection folders for {0}", Name); + Logger.Info("Validating collection folders for {0}", Name); await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false); cancellationToken.ThrowIfCancellationRequested(); diff --git a/MediaBrowser.Controller/IO/DirectoryWatchers.cs b/MediaBrowser.Controller/IO/DirectoryWatchers.cs index 29353bc25..4eaa6e7d3 100644 --- a/MediaBrowser.Controller/IO/DirectoryWatchers.cs +++ b/MediaBrowser.Controller/IO/DirectoryWatchers.cs @@ -70,9 +70,14 @@ namespace MediaBrowser.Controller.IO /// <summary> /// Initializes a new instance of the <see cref="DirectoryWatchers" /> class. /// </summary> - public DirectoryWatchers() + public DirectoryWatchers(ILogger logger) { - Logger = LogManager.GetLogger(GetType().Name); + if (logger == null) + { + throw new ArgumentNullException("logger"); + } + + Logger = logger; } /// <summary> diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs index 74d0a7e6f..b94034913 100644 --- a/MediaBrowser.Controller/IO/FileData.cs +++ b/MediaBrowser.Controller/IO/FileData.cs @@ -2,6 +2,7 @@ using MediaBrowser.Common.Logging; using MediaBrowser.Common.Win32; using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; using System.IO; @@ -15,6 +16,11 @@ namespace MediaBrowser.Controller.IO public static class FileData { /// <summary> + /// The logger + /// </summary> + private static readonly ILogger Logger = LogManager.GetLogger("FileData"); + + /// <summary> /// Gets all file system entries within a foler /// </summary> /// <param name="path">The path.</param> @@ -87,7 +93,7 @@ namespace MediaBrowser.Controller.IO if (string.IsNullOrWhiteSpace(newPath)) { //invalid shortcut - could be old or target could just be unavailable - Logger.LogWarning("Encountered invalid shortuct: "+lpFindFileData.Path); + Logger.Warn("Encountered invalid shortuct: "+lpFindFileData.Path); continue; } var data = FileSystem.GetFileData(newPath); diff --git a/MediaBrowser.Controller/IO/FileSystemManager.cs b/MediaBrowser.Controller/IO/FileSystemManager.cs index e33983489..359a77d60 100644 --- a/MediaBrowser.Controller/IO/FileSystemManager.cs +++ b/MediaBrowser.Controller/IO/FileSystemManager.cs @@ -28,7 +28,7 @@ namespace MediaBrowser.Controller.IO public FileSystemManager(Kernel kernel) : base(kernel) { - DirectoryWatchers = new DirectoryWatchers(); + DirectoryWatchers = new DirectoryWatchers(Logger); } /// <summary> diff --git a/MediaBrowser.Controller/Library/Profiler.cs b/MediaBrowser.Controller/Library/Profiler.cs index 4daa9d654..3ac53f62a 100644 --- a/MediaBrowser.Controller/Library/Profiler.cs +++ b/MediaBrowser.Controller/Library/Profiler.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using MediaBrowser.Common.Logging; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Controller.Library { @@ -19,13 +20,21 @@ namespace MediaBrowser.Controller.Library readonly Stopwatch stopwatch; /// <summary> + /// The _logger + /// </summary> + private ILogger _logger; + + /// <summary> /// Initializes a new instance of the <see cref="Profiler" /> class. /// </summary> /// <param name="name">The name.</param> - public Profiler(string name) + /// <param name="logger">The logger.</param> + public Profiler(string name, ILogger logger) { this.name = name; + _logger = logger; + stopwatch = new Stopwatch(); stopwatch.Start(); } @@ -60,7 +69,7 @@ namespace MediaBrowser.Controller.Library message = string.Format("{0} took {1} seconds.", name, ((float)stopwatch.ElapsedMilliseconds / 1000).ToString("#0.000")); } - Logger.LogInfo(message); + _logger.Info(message); } } diff --git a/MediaBrowser.Controller/Localization/LocalizedStrings.cs b/MediaBrowser.Controller/Localization/LocalizedStrings.cs index b7e66f095..aa651e181 100644 --- a/MediaBrowser.Controller/Localization/LocalizedStrings.cs +++ b/MediaBrowser.Controller/Localization/LocalizedStrings.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.Localization; using MediaBrowser.Common.Logging; +using MediaBrowser.Model.Logging; using System; using System.Collections.Concurrent; using System.Globalization; @@ -16,6 +17,10 @@ namespace MediaBrowser.Controller.Localization public class LocalizedStrings { /// <summary> + /// The logger + /// </summary> + private static readonly ILogger Logger = LogManager.GetLogger("LocalizedStrings"); + /// <summary> /// The base prefix /// </summary> public const string BasePrefix = "base-"; @@ -80,7 +85,7 @@ namespace MediaBrowser.Controller.Localization var xs = new XmlSerializer(t); var strings = (LocalizedStringData)Activator.CreateInstance(t); strings.FileName = file; - Logger.LogInfo("Using String Data from {0}", file); + Logger.Info("Using String Data from {0}", file); if (File.Exists(file)) { using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read)) @@ -121,17 +126,17 @@ namespace MediaBrowser.Controller.Localization } catch (TargetException ex) { - Logger.LogException("Error getting value for field: {0}", ex, field.Name); + Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); continue; } catch (FieldAccessException ex) { - Logger.LogException("Error getting value for field: {0}", ex, field.Name); + Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); continue; } catch (NotSupportedException ex) { - Logger.LogException("Error getting value for field: {0}", ex, field.Name); + Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); continue; } diff --git a/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs b/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs index bd60003be..0bcfff183 100644 --- a/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs +++ b/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs @@ -2,6 +2,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; using System; using System.Drawing; using System.Threading.Tasks; @@ -14,6 +15,10 @@ namespace MediaBrowser.Controller.Providers public abstract class BaseImageEnhancer : IDisposable { /// <summary> + /// The logger + /// </summary> + private static readonly ILogger Logger = LogManager.GetLogger("ImageEnhancer"); + /// <summary> /// Return true only if the given image for the given item will be enhanced by this enhancer. /// </summary> /// <param name="item">The item.</param> @@ -96,7 +101,7 @@ namespace MediaBrowser.Controller.Providers var typeName = GetType().Name; - Logger.LogDebugInfo("Running {0} for {1}", typeName, item.Path ?? item.Name ?? "--Unknown--"); + Logger.Debug("Running {0} for {1}", typeName, item.Path ?? item.Name ?? "--Unknown--"); try { @@ -104,7 +109,7 @@ namespace MediaBrowser.Controller.Providers } catch (Exception ex) { - Logger.LogException("{0} failed enhancing {1}", ex, typeName, item.Name); + Logger.ErrorException("{0} failed enhancing {1}", ex, typeName, item.Name); throw; } diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index 0869b25bc..e54e6bfc2 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -1,6 +1,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -17,6 +18,20 @@ namespace MediaBrowser.Controller.Providers where T : BaseItem, new() { /// <summary> + /// The logger + /// </summary> + protected ILogger Logger { get; private set; } + + /// <summary> + /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class. + /// </summary> + /// <param name="logger">The logger.</param> + public BaseItemXmlParser(ILogger logger) + { + Logger = logger; + } + + /// <summary> /// Fetches metadata for an item from one xml file /// </summary> /// <param name="item">The item.</param> diff --git a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs b/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs index 110502bc1..ab0f37b96 100644 --- a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs +++ b/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs @@ -66,13 +66,13 @@ namespace MediaBrowser.Controller.Providers private bool Fetch(BaseItem item, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); - + var metadataFile = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, "folder.xml")); if (metadataFile.HasValue) { var path = metadataFile.Value.Path; - new BaseItemXmlParser<Folder>().Fetch((Folder)item, path, cancellationToken); + new BaseItemXmlParser<Folder>(Logger).Fetch((Folder)item, path, cancellationToken); SetLastRefreshed(item, DateTime.UtcNow); return true; } diff --git a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs index b87c71df3..b180fa580 100644 --- a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs +++ b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs @@ -75,11 +75,11 @@ namespace MediaBrowser.Controller.Providers.Movies var boxset = item as BoxSet; if (boxset != null) { - new BaseItemXmlParser<BoxSet>().Fetch(boxset, path, cancellationToken); + new BaseItemXmlParser<BoxSet>(Logger).Fetch(boxset, path, cancellationToken); } else { - new BaseItemXmlParser<Movie>().Fetch((Movie)item, path, cancellationToken); + new BaseItemXmlParser<Movie>(Logger).Fetch((Movie)item, path, cancellationToken); } SetLastRefreshed(item, DateTime.UtcNow); return true; diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs b/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs index df46b7167..08d0988eb 100644 --- a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs +++ b/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs @@ -115,7 +115,7 @@ namespace MediaBrowser.Controller.Providers.TV return false; } - new EpisodeXmlParser().Fetch(item, metadataFile, cancellationToken); + new EpisodeXmlParser(Logger).Fetch(item, metadataFile, cancellationToken); return true; } } diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs index 7133d8745..4b8219e00 100644 --- a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs +++ b/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Model.Logging; using System.IO; using System.Xml; @@ -10,6 +11,15 @@ namespace MediaBrowser.Controller.Providers.TV public class EpisodeXmlParser : BaseItemXmlParser<Episode> { /// <summary> + /// Initializes a new instance of the <see cref="EpisodeXmlParser" /> class. + /// </summary> + /// <param name="logger">The logger.</param> + public EpisodeXmlParser(ILogger logger) + : base(logger) + { + } + + /// <summary> /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> diff --git a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs b/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs index 728ac0549..c92841fb6 100644 --- a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs +++ b/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs @@ -74,7 +74,7 @@ namespace MediaBrowser.Controller.Providers.TV { var path = metadataFile.Value.Path; - new SeriesXmlParser().Fetch((Series)item, path, cancellationToken); + new SeriesXmlParser(Logger).Fetch((Series)item, path, cancellationToken); SetLastRefreshed(item, DateTime.UtcNow); return true; diff --git a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs index 751690425..2822a43b2 100644 --- a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs +++ b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs @@ -1,7 +1,7 @@ -using MediaBrowser.Common.Logging; -using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Resolvers.TV; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; using System; using System.Xml; @@ -13,6 +13,15 @@ namespace MediaBrowser.Controller.Providers.TV public class SeriesXmlParser : BaseItemXmlParser<Series> { /// <summary> + /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class. + /// </summary> + /// <param name="logger">The logger.</param> + public SeriesXmlParser(ILogger logger) + : base(logger) + { + } + + /// <summary> /// Fetches the data from XML node. /// </summary> /// <param name="reader">The reader.</param> @@ -74,7 +83,7 @@ namespace MediaBrowser.Controller.Providers.TV } else { - Logger.LogInfo("Unrecognized series status: " + status); + Logger.Info("Unrecognized series status: " + status); } } diff --git a/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs b/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs index 3e7421a39..db85ae4f7 100644 --- a/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs +++ b/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs @@ -7,9 +7,18 @@ using System.Linq; namespace MediaBrowser.Controller.Resolvers.TV { + /// <summary> + /// Class TVUtils + /// </summary> public static class TVUtils { + /// <summary> + /// The TVDB API key + /// </summary> public static readonly string TVDBApiKey = "B89CE93890E9419B"; + /// <summary> + /// The banner URL + /// </summary> public static readonly string BannerUrl = "http://www.thetvdb.com/banners/"; /// <summary> @@ -29,11 +38,6 @@ namespace MediaBrowser.Controller.Resolvers.TV /// match movie titles like "2001 A Space..." /// Currently we limit the numbers here to 2 digits to try and avoid this /// </summary> - /// <remarks> - /// The order here is important, if the order is changed some of the later - /// ones might incorrectly match things that higher ones would have caught. - /// The most restrictive expressions should appear first - /// </remarks> private static readonly Regex[] EpisodeExpressions = new[] { new Regex( @@ -78,6 +82,11 @@ namespace MediaBrowser.Controller.Resolvers.TV }; + /// <summary> + /// Gets the season number from path. + /// </summary> + /// <param name="path">The path.</param> + /// <returns>System.Nullable{System.Int32}.</returns> public static int? GetSeasonNumberFromPath(string path) { // Look for one of the season folder names @@ -97,6 +106,8 @@ namespace MediaBrowser.Controller.Resolvers.TV /// <summary> /// Extracts the season number from the second half of the Season folder name (everything after "Season", or "Staffel") /// </summary> + /// <param name="path">The path.</param> + /// <returns>System.Nullable{System.Int32}.</returns> private static int? GetSeasonNumberFromPathSubstring(string path) { int numericStart = -1; @@ -127,11 +138,22 @@ namespace MediaBrowser.Controller.Resolvers.TV return int.Parse(path.Substring(numericStart, length)); } + /// <summary> + /// Determines whether [is season folder] [the specified path]. + /// </summary> + /// <param name="path">The path.</param> + /// <returns><c>true</c> if [is season folder] [the specified path]; otherwise, <c>false</c>.</returns> public static bool IsSeasonFolder(string path) { return GetSeasonNumberFromPath(path) != null; } + /// <summary> + /// Determines whether [is series folder] [the specified path]. + /// </summary> + /// <param name="path">The path.</param> + /// <param name="fileSystemChildren">The file system children.</param> + /// <returns><c>true</c> if [is series folder] [the specified path]; otherwise, <c>false</c>.</returns> public static bool IsSeriesFolder(string path, IEnumerable<WIN32_FIND_DATA> fileSystemChildren) { // A folder with more than 3 non-season folders in will not becounted as a series @@ -171,6 +193,12 @@ namespace MediaBrowser.Controller.Resolvers.TV return false; } + /// <summary> + /// Episodes the number from file. + /// </summary> + /// <param name="fullPath">The full path.</param> + /// <param name="isInSeason">if set to <c>true</c> [is in season].</param> + /// <returns>System.String.</returns> public static string EpisodeNumberFromFile(string fullPath, bool isInSeason) { string fl = fullPath.ToLower(); @@ -194,6 +222,11 @@ namespace MediaBrowser.Controller.Resolvers.TV return null; } + /// <summary> + /// Seasons the number from episode file. + /// </summary> + /// <param name="fullPath">The full path.</param> + /// <returns>System.String.</returns> public static string SeasonNumberFromEpisodeFile(string fullPath) { string fl = fullPath.ToLower(); @@ -211,6 +244,11 @@ namespace MediaBrowser.Controller.Resolvers.TV return null; } + /// <summary> + /// Gets the air days. + /// </summary> + /// <param name="day">The day.</param> + /// <returns>List{DayOfWeek}.</returns> public static List<DayOfWeek> GetAirDays(string day) { if (!string.IsNullOrWhiteSpace(day)) @@ -239,8 +277,6 @@ namespace MediaBrowser.Controller.Resolvers.TV }; } - Logger.LogWarning("Invalid value passed into GetAirDays: {0}", day); - return new List<DayOfWeek> { }; |
