浏览代码

Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser

Eric Reed 12 年之前
父节点
当前提交
c21c678ed9

+ 7 - 0
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -562,6 +562,13 @@ namespace MediaBrowser.Api.Playback
         /// <returns>Task.</returns>
         protected async Task StartFfMpeg(StreamState state, string outputPath)
         {
+            var parentPath = Path.GetDirectoryName(outputPath);
+
+            if (!Directory.Exists(parentPath))
+            {
+                Directory.CreateDirectory(parentPath);
+            }
+
             var video = state.Item as Video;
 
             if (video != null && video.VideoType == VideoType.Iso && video.IsoType.HasValue && IsoManager.CanMount(video.Path))

+ 3 - 7
MediaBrowser.Common.Implementations/BaseApplicationPaths.cs

@@ -45,7 +45,7 @@ namespace MediaBrowser.Common.Implementations
         /// <summary>
         /// Gets the path to the system folder
         /// </summary>
-        public string ProgramSystemPath { get { return Path.Combine(ProgramDataPath, "System"); } }
+        public string ProgramSystemPath { get { return Path.Combine(ProgramDataPath, "system"); } }
 
         /// <summary>
         /// The _data directory
@@ -160,7 +160,7 @@ namespace MediaBrowser.Common.Implementations
             {
                 if (_tempUpdatePath == null)
                 {
-                    _tempUpdatePath = Path.Combine(ProgramDataPath, "Updates");
+                    _tempUpdatePath = Path.Combine(ProgramDataPath, "updates");
                     if (!Directory.Exists(_tempUpdatePath))
                     {
                         Directory.CreateDirectory(_tempUpdatePath);
@@ -219,10 +219,6 @@ namespace MediaBrowser.Common.Implementations
             }
         }
 
-        /// <summary>
-        /// The _system configuration file path
-        /// </summary>
-        private string _systemConfigurationFilePath;
         /// <summary>
         /// Gets the path to the system configuration file
         /// </summary>
@@ -231,7 +227,7 @@ namespace MediaBrowser.Common.Implementations
         {
             get
             {
-                return _systemConfigurationFilePath ?? (_systemConfigurationFilePath = Path.Combine(ConfigurationDirectoryPath, "system.xml"));
+                return Path.Combine(ConfigurationDirectoryPath, "system.xml");
             }
         }
 

+ 35 - 0
MediaBrowser.Controller/Drawing/ImageManager.cs

@@ -576,6 +576,41 @@ namespace MediaBrowser.Controller.Drawing
             return croppedImagePath;
         }
 
+        /// <summary>
+        /// Gets the enhanced image.
+        /// </summary>
+        /// <param name="originalImagePath">The original image path.</param>
+        /// <param name="dateModified">The date modified.</param>
+        /// <param name="item">The item.</param>
+        /// <param name="imageType">Type of the image.</param>
+        /// <param name="imageIndex">Index of the image.</param>
+        /// <returns>Task{System.String}.</returns>
+        /// <exception cref="System.ArgumentNullException">item</exception>
+        public Task<string> GetEnhancedImage(string originalImagePath, DateTime dateModified, BaseItem item, ImageType imageType, int imageIndex)
+        {
+            if (item == null)
+            {
+                throw new ArgumentNullException("item");
+            }
+
+            var supportedImageEnhancers = ImageEnhancers.Where(i =>
+            {
+                try
+                {
+                    return i.Supports(item, imageType);
+                }
+                catch (Exception ex)
+                {
+                    _logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
+
+                    return false;
+                }
+
+            }).ToList();
+
+            return GetEnhancedImage(originalImagePath, dateModified, item, imageType, imageIndex, supportedImageEnhancers);
+        }
+        
         /// <summary>
         /// Runs an image through the image enhancers, caches the result, and returns the cached path
         /// </summary>

+ 5 - 10
MediaBrowser.Controller/Entities/User.cs

@@ -28,19 +28,14 @@ namespace MediaBrowser.Controller.Entities
         {
             get
             {
-                if (Configuration.UseCustomLibrary)
-                {
-                    var rootFolderPath = GetRootFolderPath(Name);
+                var path = Configuration.UseCustomLibrary ? GetRootFolderPath(Name) : ConfigurationManager.ApplicationPaths.DefaultUserViewsPath;
 
-                    if (!Directory.Exists(rootFolderPath))
-                    {
-                        Directory.CreateDirectory(rootFolderPath);
-                    }
-
-                    return rootFolderPath;
+                if (!Directory.Exists(path))
+                {
+                    Directory.CreateDirectory(path);
                 }
 
-                return ConfigurationManager.ApplicationPaths.DefaultUserViewsPath;
+                return path;
             }
         }
 

+ 1 - 1
MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs

@@ -50,7 +50,7 @@ namespace MediaBrowser.Model.Configuration
         public BaseApplicationConfiguration()
         {
             EnableAutoUpdate = true;
-            LogFileRetentionDays = 7;
+            LogFileRetentionDays = 3;
 
 #if (DEBUG)
             EnableDebugLevelLogging = true;

+ 6 - 0
MediaBrowser.Server.Implementations/Library/LibraryManager.cs

@@ -558,6 +558,12 @@ namespace MediaBrowser.Server.Implementations.Library
         public AggregateFolder CreateRootFolder()
         {
             var rootFolderPath = ConfigurationManager.ApplicationPaths.RootFolderPath;
+
+            if (!Directory.Exists(rootFolderPath))
+            {
+                Directory.CreateDirectory(rootFolderPath);
+            }
+
             var rootFolder = RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)ResolvePath(rootFolderPath);
 
             // Add in the plug-in folders

+ 15 - 213
MediaBrowser.Server.Implementations/ServerApplicationPaths.cs

@@ -26,10 +26,6 @@ namespace MediaBrowser.Server.Implementations
         {
         }
 #endif
-        /// <summary>
-        /// The _root folder path
-        /// </summary>
-        private string _rootFolderPath;
         /// <summary>
         /// Gets the path to the base root media directory
         /// </summary>
@@ -38,22 +34,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_rootFolderPath == null)
-                {
-                    _rootFolderPath = Path.Combine(ProgramDataPath, "Root");
-                    if (!Directory.Exists(_rootFolderPath))
-                    {
-                        Directory.CreateDirectory(_rootFolderPath);
-                    }
-                }
-                return _rootFolderPath;
+                return Path.Combine(ProgramDataPath, "root");
             }
         }
 
-        /// <summary>
-        /// The _default user views path
-        /// </summary>
-        private string _defaultUserViewsPath;
         /// <summary>
         /// Gets the path to the default user view directory.  Used if no specific user view is defined.
         /// </summary>
@@ -62,22 +46,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_defaultUserViewsPath == null)
-                {
-                    _defaultUserViewsPath = Path.Combine(RootFolderPath, "Default");
-                    if (!Directory.Exists(_defaultUserViewsPath))
-                    {
-                        Directory.CreateDirectory(_defaultUserViewsPath);
-                    }
-                }
-                return _defaultUserViewsPath;
+                return Path.Combine(RootFolderPath, "default");
             }
         }
 
-        /// <summary>
-        /// The _localization path
-        /// </summary>
-        private string _localizationPath;
         /// <summary>
         /// Gets the path to localization data.
         /// </summary>
@@ -86,15 +58,7 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_localizationPath == null)
-                {
-                    _localizationPath = Path.Combine(ProgramDataPath, "Localization");
-                    if (!Directory.Exists(_localizationPath))
-                    {
-                        Directory.CreateDirectory(_localizationPath);
-                    }
-                }
-                return _localizationPath;
+                return Path.Combine(ProgramDataPath, "localization");
             }
         }
 
@@ -110,36 +74,14 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_ibnPath == null)
-                {
-                    _ibnPath = Path.Combine(ProgramDataPath, "ImagesByName");
-                    if (!Directory.Exists(_ibnPath))
-                    {
-                        Directory.CreateDirectory(_ibnPath);
-                    }
-                }
-
-                return _ibnPath;
+                return _ibnPath ?? (_ibnPath = Path.Combine(ProgramDataPath, "ImagesByName"));
             }
             set
             {
                 _ibnPath = value;
-
-                _peoplePath = null;
-                _studioPath = null;
-                _genrePath = null;
-                _yearPath = null;
-                _musicArtistsPath = null;
-                _generalPath = null;
-                _ratingsPath = null;
-                _mediaInfoImagesPath = null;
             }
         }
 
-        /// <summary>
-        /// The _people path
-        /// </summary>
-        private string _peoplePath;
         /// <summary>
         /// Gets the path to the People directory
         /// </summary>
@@ -148,23 +90,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_peoplePath == null)
-                {
-                    _peoplePath = Path.Combine(ItemsByNamePath, "People");
-                    if (!Directory.Exists(_peoplePath))
-                    {
-                        Directory.CreateDirectory(_peoplePath);
-                    }
-                }
-
-                return _peoplePath;
+                return Path.Combine(ItemsByNamePath, "People");
             }
         }
 
-        /// <summary>
-        /// The _genre path
-        /// </summary>
-        private string _genrePath;
         /// <summary>
         /// Gets the path to the Genre directory
         /// </summary>
@@ -173,23 +102,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_genrePath == null)
-                {
-                    _genrePath = Path.Combine(ItemsByNamePath, "Genre");
-                    if (!Directory.Exists(_genrePath))
-                    {
-                        Directory.CreateDirectory(_genrePath);
-                    }
-                }
-
-                return _genrePath;
+                return Path.Combine(ItemsByNamePath, "Genre");
             }
         }
 
-        /// <summary>
-        /// The _studio path
-        /// </summary>
-        private string _studioPath;
         /// <summary>
         /// Gets the path to the Studio directory
         /// </summary>
@@ -198,23 +114,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_studioPath == null)
-                {
-                    _studioPath = Path.Combine(ItemsByNamePath, "Studio");
-                    if (!Directory.Exists(_studioPath))
-                    {
-                        Directory.CreateDirectory(_studioPath);
-                    }
-                }
-
-                return _studioPath;
+                return Path.Combine(ItemsByNamePath, "Studio");
             }
         }
 
-        /// <summary>
-        /// The _year path
-        /// </summary>
-        private string _yearPath;
         /// <summary>
         /// Gets the path to the Year directory
         /// </summary>
@@ -223,23 +126,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_yearPath == null)
-                {
-                    _yearPath = Path.Combine(ItemsByNamePath, "Year");
-                    if (!Directory.Exists(_yearPath))
-                    {
-                        Directory.CreateDirectory(_yearPath);
-                    }
-                }
-
-                return _yearPath;
+                return Path.Combine(ItemsByNamePath, "Year");
             }
         }
 
-        /// <summary>
-        /// The _general path
-        /// </summary>
-        private string _generalPath;
         /// <summary>
         /// Gets the path to the General IBN directory
         /// </summary>
@@ -248,23 +138,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_generalPath == null)
-                {
-                    _generalPath = Path.Combine(ItemsByNamePath, "General");
-                    if (!Directory.Exists(_generalPath))
-                    {
-                        Directory.CreateDirectory(_generalPath);
-                    }
-                }
-
-                return _generalPath;
+                return Path.Combine(ItemsByNamePath, "general");
             }
         }
 
-        /// <summary>
-        /// The _ratings path
-        /// </summary>
-        private string _ratingsPath;
         /// <summary>
         /// Gets the path to the Ratings IBN directory
         /// </summary>
@@ -273,23 +150,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_ratingsPath == null)
-                {
-                    _ratingsPath = Path.Combine(ItemsByNamePath, "Ratings");
-                    if (!Directory.Exists(_ratingsPath))
-                    {
-                        Directory.CreateDirectory(_ratingsPath);
-                    }
-                }
-
-                return _ratingsPath;
+                return Path.Combine(ItemsByNamePath, "ratings");
             }
         }
 
-        /// <summary>
-        /// The _media info images path
-        /// </summary>
-        private string _mediaInfoImagesPath;
         /// <summary>
         /// Gets the media info images path.
         /// </summary>
@@ -298,23 +162,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_mediaInfoImagesPath == null)
-                {
-                    _mediaInfoImagesPath = Path.Combine(ItemsByNamePath, "MediaInfo");
-                    if (!Directory.Exists(_mediaInfoImagesPath))
-                    {
-                        Directory.CreateDirectory(_mediaInfoImagesPath);
-                    }
-                }
-
-                return _mediaInfoImagesPath;
+                return Path.Combine(ItemsByNamePath, "mediainfo");
             }
         }
 
-        /// <summary>
-        /// The _user configuration directory path
-        /// </summary>
-        private string _userConfigurationDirectoryPath;
         /// <summary>
         /// Gets the path to the user configuration directory
         /// </summary>
@@ -323,22 +174,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_userConfigurationDirectoryPath == null)
-                {
-                    _userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "users");
-                    if (!Directory.Exists(_userConfigurationDirectoryPath))
-                    {
-                        Directory.CreateDirectory(_userConfigurationDirectoryPath);
-                    }
-                }
-                return _userConfigurationDirectoryPath;
+                return Path.Combine(ConfigurationDirectoryPath, "users");
             }
         }
 
-        /// <summary>
-        /// The _f F MPEG stream cache path
-        /// </summary>
-        private string _fFMpegStreamCachePath;
         /// <summary>
         /// Gets the FF MPEG stream cache path.
         /// </summary>
@@ -347,24 +186,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_fFMpegStreamCachePath == null)
-                {
-                    _fFMpegStreamCachePath = Path.Combine(CachePath, "encoded-media");
-
-                    if (!Directory.Exists(_fFMpegStreamCachePath))
-                    {
-                        Directory.CreateDirectory(_fFMpegStreamCachePath);
-                    }
-                }
-
-                return _fFMpegStreamCachePath;
+                return Path.Combine(CachePath, "encoded-media");
             }
         }
 
-        /// <summary>
-        /// The _images data path
-        /// </summary>
-        private string _downloadedImagesDataPath;
         /// <summary>
         /// Gets the images data path.
         /// </summary>
@@ -373,24 +198,10 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_downloadedImagesDataPath == null)
-                {
-                    _downloadedImagesDataPath = Path.Combine(DataPath, "remote-images");
-
-                    if (!Directory.Exists(_downloadedImagesDataPath))
-                    {
-                        Directory.CreateDirectory(_downloadedImagesDataPath);
-                    }
-                }
-
-                return _downloadedImagesDataPath;
+                return Path.Combine(DataPath, "remote-images");
             }
         }
 
-        /// <summary>
-        /// The _music artists path
-        /// </summary>
-        private string _musicArtistsPath;
         /// <summary>
         /// Gets the artists path.
         /// </summary>
@@ -399,16 +210,7 @@ namespace MediaBrowser.Server.Implementations
         {
             get
             {
-                if (_musicArtistsPath == null)
-                {
-                    _musicArtistsPath = Path.Combine(ItemsByNamePath, "Artists");
-                    if (!Directory.Exists(_musicArtistsPath))
-                    {
-                        Directory.CreateDirectory(_musicArtistsPath);
-                    }
-                }
-
-                return _musicArtistsPath;
+                return Path.Combine(ItemsByNamePath, "artists");
             }
         }
     }

+ 3 - 4
Nuget/MediaBrowser.Common.Internal.nuspec

@@ -2,17 +2,17 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common.Internal</id>
-        <version>3.0.113</version>
+        <version>3.0.114</version>
         <title>MediaBrowser.Common.Internal</title>
         <authors>Luke</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <projectUrl>https://github.com/MediaBrowser/MediaBrowser</projectUrl>
         <iconUrl>http://www.mb3admin.com/images/mb3icons1-1.png</iconUrl>
         <requireLicenseAcceptance>false</requireLicenseAcceptance>
-        <description>Contains common components shared by Media Browser Theatre and Media Browser Server. Not intended for plugin developer consumption.</description>
+        <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.113" />
+            <dependency id="MediaBrowser.Common" version="3.0.114" />
             <dependency id="NLog" version="2.0.1.2" />
             <dependency id="ServiceStack.Text" version="3.9.45" />
             <dependency id="SimpleInjector" version="2.2.3" />
@@ -20,6 +20,5 @@
     </metadata>
     <files>
         <file src="dlls\MediaBrowser.Common.Implementations.dll" target="lib\net45\MediaBrowser.Common.Implementations.dll" />
-        <file src="dlls\Mediabrowser.PluginSecurity.dll" target="lib\net45\Mediabrowser.PluginSecurity.dll" />
     </files>
 </package>

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common</id>
-        <version>3.0.113</version>
+        <version>3.0.114</version>
         <title>MediaBrowser.Common</title>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.113</version>
+        <version>3.0.114</version>
         <title>Media Browser.Server.Core</title>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.113" />
+            <dependency id="MediaBrowser.Common" version="3.0.114" />
         </dependencies>
     </metadata>
     <files>