Просмотр исходного кода

added image by name api methods

Luke Pulverenti 12 лет назад
Родитель
Сommit
73b76a4f18

+ 10 - 0
MediaBrowser.Api/BaseApiService.cs

@@ -76,6 +76,16 @@ namespace MediaBrowser.Api
         {
             return ResultFactory.GetCachedResult(RequestContext, cacheKey, lastDateModified, cacheDuration, factoryFn, contentType);
         }
+
+        /// <summary>
+        /// To the static file result.
+        /// </summary>
+        /// <param name="path">The path.</param>
+        /// <returns>System.Object.</returns>
+        protected object ToStaticFileResult(string path)
+        {
+            return ResultFactory.GetStaticFileResult(RequestContext, path);
+        }
     }
 
     /// <summary>

+ 1 - 0
MediaBrowser.Api/MediaBrowser.Api.csproj

@@ -64,6 +64,7 @@
     <Compile Include="BaseApiService.cs" />
     <Compile Include="DisplayPreferencesService.cs" />
     <Compile Include="EnvironmentService.cs" />
+    <Compile Include="Images\ImageByNameService.cs" />
     <Compile Include="Images\ImageRequest.cs" />
     <Compile Include="Images\ImageService.cs" />
     <Compile Include="Images\ImageWriter.cs" />

+ 3 - 1
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -635,7 +635,7 @@ namespace MediaBrowser.Api.Playback
         /// </summary>
         /// <param name="process">The process.</param>
         /// <param name="state">The state.</param>
-        protected void OnFfMpegProcessExited(Process process, StreamState state)
+        protected async void OnFfMpegProcessExited(Process process, StreamState state)
         {
             if (state.IsoMount != null)
             {
@@ -667,6 +667,8 @@ namespace MediaBrowser.Api.Playback
             {
                 Logger.Info("Deleting partial stream file(s) {0}", outputFilePath);
 
+                await Task.Delay(1000).ConfigureAwait(false);
+
                 try
                 {
                     DeletePartialStreamFiles(outputFilePath);

+ 2 - 1
MediaBrowser.Api/TvShowsService.cs

@@ -171,7 +171,8 @@ namespace MediaBrowser.Api
         {
             var allEpisodes = series.GetRecursiveChildren(user)
                 .OfType<Episode>()
-                .OrderByDescending(i => i.PremiereDate)
+                .OrderByDescending(i => i.PremiereDate ?? DateTime.MinValue)
+                .ThenByDescending(i => i.IndexNumber ?? 0)
                 .ToList();
 
             Episode lastWatched = null;

+ 6 - 0
MediaBrowser.Controller/IServerApplicationPaths.cs

@@ -70,6 +70,12 @@ namespace MediaBrowser.Controller
         /// <value>The ratings path.</value>
         string RatingsPath { get; }
 
+        /// <summary>
+        /// Gets the media info images path.
+        /// </summary>
+        /// <value>The media info images path.</value>
+        string MediaInfoImagesPath { get; }
+        
         /// <summary>
         /// Gets the path to the user configuration directory
         /// </summary>

+ 2 - 1
MediaBrowser.Controller/Providers/Music/FanArtArtistProvider.cs

@@ -1,6 +1,7 @@
 using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities.Audio;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Net;
@@ -49,7 +50,7 @@ namespace MediaBrowser.Controller.Providers.Music
         /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
         public override bool Supports(BaseItem item)
         {
-            return false;
+            return item is MusicArtist;
         }
 
         protected virtual bool SaveLocalMeta

+ 1 - 1
MediaBrowser.Controller/Providers/Music/LastfmArtistProvider.cs

@@ -90,7 +90,7 @@ namespace MediaBrowser.Controller.Providers.Music
 
         public override bool Supports(BaseItem item)
         {
-            return false;
+            return item is MusicArtist;
         }
     }
 }

+ 26 - 0
MediaBrowser.Server.Implementations/ServerApplicationPaths.cs

@@ -132,6 +132,7 @@ namespace MediaBrowser.Server.Implementations
                 _musicArtistsPath = null;
                 _generalPath = null;
                 _ratingsPath = null;
+                _mediaInfoImagesPath = null;
             }
         }
 
@@ -285,6 +286,31 @@ namespace MediaBrowser.Server.Implementations
             }
         }
 
+        /// <summary>
+        /// The _media info images path
+        /// </summary>
+        private string _mediaInfoImagesPath;
+        /// <summary>
+        /// Gets the media info images path.
+        /// </summary>
+        /// <value>The media info images path.</value>
+        public string MediaInfoImagesPath
+        {
+            get
+            {
+                if (_mediaInfoImagesPath == null)
+                {
+                    _mediaInfoImagesPath = Path.Combine(ItemsByNamePath, "MediaInfo");
+                    if (!Directory.Exists(_mediaInfoImagesPath))
+                    {
+                        Directory.CreateDirectory(_mediaInfoImagesPath);
+                    }
+                }
+
+                return _mediaInfoImagesPath;
+            }
+        }
+
         /// <summary>
         /// The _user configuration directory path
         /// </summary>