aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-11 16:41:01 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-11 16:41:01 -0500
commit16bc3a6d773ade03cad5d86eb317163ed827f17b (patch)
tree19adb8018f687ecddf51b9ebf83ef2d0888e0158 /MediaBrowser.Controller
parent17bf59dfe3bad4a1341177050c4187bbd3215800 (diff)
implement fetcher priority adjustment
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/AdultVideo.cs12
-rw-r--r--MediaBrowser.Controller/Entities/AggregateFolder.cs6
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs8
-rw-r--r--MediaBrowser.Controller/IO/FileData.cs9
-rw-r--r--MediaBrowser.Controller/Library/ItemResolveArgs.cs28
-rw-r--r--MediaBrowser.Controller/Providers/DirectoryService.cs14
-rw-r--r--MediaBrowser.Controller/Providers/ILocalImageProvider.cs18
7 files changed, 50 insertions, 45 deletions
diff --git a/MediaBrowser.Controller/Entities/AdultVideo.cs b/MediaBrowser.Controller/Entities/AdultVideo.cs
index 475d7bc54d..fc7632152c 100644
--- a/MediaBrowser.Controller/Entities/AdultVideo.cs
+++ b/MediaBrowser.Controller/Entities/AdultVideo.cs
@@ -1,7 +1,8 @@
-
+using System.Collections.Generic;
+
namespace MediaBrowser.Controller.Entities
{
- public class AdultVideo : Video, IHasPreferredMetadataLanguage
+ public class AdultVideo : Video, IHasPreferredMetadataLanguage, IHasTaglines
{
/// <summary>
/// Gets or sets the preferred metadata language.
@@ -14,5 +15,12 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <value>The preferred metadata country code.</value>
public string PreferredMetadataCountryCode { get; set; }
+
+ public List<string> Taglines { get; set; }
+
+ public AdultVideo()
+ {
+ Taglines = new List<string>();
+ }
}
}
diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs
index 363b0a81b1..5cabe1cfe4 100644
--- a/MediaBrowser.Controller/Entities/AggregateFolder.cs
+++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs
@@ -59,10 +59,10 @@ namespace MediaBrowser.Controller.Entities
protected override IEnumerable<FileSystemInfo> GetFileSystemChildren(IDirectoryService directoryService)
{
- return CreateResolveArgs().FileSystemChildren;
+ return CreateResolveArgs(directoryService).FileSystemChildren;
}
- private ItemResolveArgs CreateResolveArgs()
+ private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService)
{
var path = ContainingFolderPath;
@@ -81,7 +81,7 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
- var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
+ var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 25f42538cd..416796b697 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -63,10 +63,10 @@ namespace MediaBrowser.Controller.Entities
protected override IEnumerable<FileSystemInfo> GetFileSystemChildren(IDirectoryService directoryService)
{
- return CreateResolveArgs().FileSystemChildren;
+ return CreateResolveArgs(directoryService).FileSystemChildren;
}
- private ItemResolveArgs CreateResolveArgs()
+ private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService)
{
var path = ContainingFolderPath;
@@ -85,7 +85,7 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
- var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
+ var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
@@ -123,7 +123,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
- CreateResolveArgs();
+ CreateResolveArgs(directoryService);
ResetDynamicChildren();
return NullTaskResult;
diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs
index 270afd89a1..4ee8a810bc 100644
--- a/MediaBrowser.Controller/IO/FileData.cs
+++ b/MediaBrowser.Controller/IO/FileData.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
@@ -15,16 +16,16 @@ namespace MediaBrowser.Controller.IO
/// <summary>
/// Gets the filtered file system entries.
/// </summary>
+ /// <param name="directoryService">The directory service.</param>
/// <param name="path">The path.</param>
/// <param name="fileSystem">The file system.</param>
/// <param name="logger">The logger.</param>
/// <param name="args">The args.</param>
- /// <param name="searchPattern">The search pattern.</param>
/// <param name="flattenFolderDepth">The flatten folder depth.</param>
/// <param name="resolveShortcuts">if set to <c>true</c> [resolve shortcuts].</param>
/// <returns>Dictionary{System.StringFileSystemInfo}.</returns>
/// <exception cref="System.ArgumentNullException">path</exception>
- public static Dictionary<string, FileSystemInfo> GetFilteredFileSystemEntries(string path, IFileSystem fileSystem, ILogger logger, ItemResolveArgs args, string searchPattern = "*", int flattenFolderDepth = 0, bool resolveShortcuts = true)
+ public static Dictionary<string, FileSystemInfo> GetFilteredFileSystemEntries(IDirectoryService directoryService, string path, IFileSystem fileSystem, ILogger logger, ItemResolveArgs args, int flattenFolderDepth = 0, bool resolveShortcuts = true)
{
if (string.IsNullOrEmpty(path))
{
@@ -35,7 +36,7 @@ namespace MediaBrowser.Controller.IO
throw new ArgumentNullException("args");
}
- var entries = new DirectoryInfo(path).EnumerateFileSystemInfos(searchPattern, SearchOption.TopDirectoryOnly);
+ var entries = directoryService.GetFileSystemEntries(path);
if (!resolveShortcuts && flattenFolderDepth == 0)
{
@@ -79,7 +80,7 @@ namespace MediaBrowser.Controller.IO
}
else if (flattenFolderDepth > 0 && isDirectory)
{
- foreach (var child in GetFilteredFileSystemEntries(fullName, fileSystem, logger, args, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts))
+ foreach (var child in GetFilteredFileSystemEntries(directoryService, fullName, fileSystem, logger, args, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts))
{
dict[child.Key] = child.Value;
}
diff --git a/MediaBrowser.Controller/Library/ItemResolveArgs.cs b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
index 5d6d850f08..d84e7aa8ca 100644
--- a/MediaBrowser.Controller/Library/ItemResolveArgs.cs
+++ b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
@@ -97,18 +97,6 @@ namespace MediaBrowser.Controller.Library
}
/// <summary>
- /// Gets a value indicating whether this instance is system file.
- /// </summary>
- /// <value><c>true</c> if this instance is system file; otherwise, <c>false</c>.</value>
- public bool IsSystemFile
- {
- get
- {
- return (FileInfo.Attributes & FileAttributes.System) == FileAttributes.System;
- }
- }
-
- /// <summary>
/// Gets a value indicating whether this instance is vf.
/// </summary>
/// <value><c>true</c> if this instance is vf; otherwise, <c>false</c>.</value>
@@ -238,22 +226,6 @@ namespace MediaBrowser.Controller.Library
}
/// <summary>
- /// Gets the meta file by path.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <returns>FileSystemInfo.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
- public FileSystemInfo GetMetaFileByPath(string path)
- {
- if (string.IsNullOrEmpty(path))
- {
- throw new ArgumentNullException();
- }
-
- return GetFileSystemEntryByPath(path);
- }
-
- /// <summary>
/// Gets the name of the meta file by.
/// </summary>
/// <param name="name">The name.</param>
diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs
index 828d662f68..e17ae76ffd 100644
--- a/MediaBrowser.Controller/Providers/DirectoryService.cs
+++ b/MediaBrowser.Controller/Providers/DirectoryService.cs
@@ -1,8 +1,8 @@
-using System;
+using MediaBrowser.Model.Logging;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Providers
{
@@ -34,7 +34,15 @@ namespace MediaBrowser.Controller.Providers
{
//_logger.Debug("Getting files for " + path);
- entries = new DirectoryInfo(path).EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly).ToList();
+ try
+ {
+ entries = new DirectoryInfo(path).EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly).ToList();
+ }
+ catch (DirectoryNotFoundException)
+ {
+ entries = new List<FileSystemInfo>();
+ }
+
_cache.Add(path, entries);
}
diff --git a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
index 11b8897e70..ec24e1d602 100644
--- a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
+++ b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
@@ -60,7 +61,22 @@ namespace MediaBrowser.Controller.Providers
public void SetFormatFromMimeType(string mimeType)
{
-
+ if (mimeType.EndsWith("gif", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Gif;
+ }
+ else if (mimeType.EndsWith("bmp", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Bmp;
+ }
+ else if (mimeType.EndsWith("png", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Png;
+ }
+ else
+ {
+ Format = ImageFormat.Jpg;
+ }
}
}
}