aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-02 08:36:31 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-02 08:36:31 -0500
commit9e0c1340fc3ad4b41e3c349b98ea71b708ade95a (patch)
tree1462595d01278d769cc12a9228dcc0d068455bbe /MediaBrowser.Controller
parent53776b332c727c8e5e21a99ab2c633a266df336b (diff)
convert games to new providers
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs85
-rw-r--r--MediaBrowser.Controller/Entities/IHasImages.cs7
-rw-r--r--MediaBrowser.Controller/Entities/IHasScreenshots.cs7
-rw-r--r--MediaBrowser.Controller/Library/ILibraryManager.cs12
-rw-r--r--MediaBrowser.Controller/Library/IMetadataSaver.cs14
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs15
-rw-r--r--MediaBrowser.Controller/Providers/IHasMetadata.cs6
-rw-r--r--MediaBrowser.Controller/Providers/IMetadataService.cs13
-rw-r--r--MediaBrowser.Controller/Providers/IProviderManager.cs19
-rw-r--r--MediaBrowser.Controller/Providers/ItemId.cs18
11 files changed, 72 insertions, 125 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index f12532204..d9579d79f 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -34,7 +34,6 @@ namespace MediaBrowser.Controller.Entities
Images = new Dictionary<ImageType, string>();
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
LockedFields = new List<MetadataFields>();
- ImageSources = new List<ImageSourceInfo>();
}
/// <summary>
@@ -475,12 +474,6 @@ namespace MediaBrowser.Controller.Entities
public List<string> BackdropImagePaths { get; set; }
/// <summary>
- /// Gets or sets the backdrop image sources.
- /// </summary>
- /// <value>The backdrop image sources.</value>
- public List<ImageSourceInfo> ImageSources { get; set; }
-
- /// <summary>
/// Gets or sets the official rating.
/// </summary>
/// <value>The official rating.</value>
@@ -1458,8 +1451,6 @@ namespace MediaBrowser.Controller.Entities
BackdropImagePaths.Remove(file);
- RemoveImageSourceForPath(file);
-
// Delete the source file
DeleteImagePath(file);
}
@@ -1567,8 +1558,6 @@ namespace MediaBrowser.Controller.Entities
{
BackdropImagePaths.Remove(path);
- RemoveImageSourceForPath(path);
-
changed = true;
}
@@ -1576,80 +1565,6 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
- /// Adds the image source.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <param name="url">The URL.</param>
- public void AddImageSource(string path, string url)
- {
- RemoveImageSourceForPath(path);
-
- var pathMd5 = path.ToLower().GetMD5();
-
- ImageSources.Add(new ImageSourceInfo
- {
- ImagePathMD5 = pathMd5,
- ImageUrlMD5 = url.ToLower().GetMD5()
- });
- }
-
- /// <summary>
- /// Gets the image source info.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <returns>ImageSourceInfo.</returns>
- public ImageSourceInfo GetImageSourceInfo(string path)
- {
- if (ImageSources.Count == 0)
- {
- return null;
- }
-
- var pathMd5 = path.ToLower().GetMD5();
-
- return ImageSources.FirstOrDefault(i => i.ImagePathMD5 == pathMd5);
- }
-
- /// <summary>
- /// Removes the image source for path.
- /// </summary>
- /// <param name="path">The path.</param>
- public void RemoveImageSourceForPath(string path)
- {
- if (ImageSources.Count == 0)
- {
- return;
- }
-
- var pathMd5 = path.ToLower().GetMD5();
-
- // Remove existing
- foreach (var entry in ImageSources
- .Where(i => i.ImagePathMD5 == pathMd5)
- .ToList())
- {
- ImageSources.Remove(entry);
- }
- }
-
- /// <summary>
- /// Determines whether [contains image with source URL] [the specified URL].
- /// </summary>
- /// <param name="url">The URL.</param>
- /// <returns><c>true</c> if [contains image with source URL] [the specified URL]; otherwise, <c>false</c>.</returns>
- public bool ContainsImageWithSourceUrl(string url)
- {
- if (ImageSources.Count == 0)
- {
- return false;
- }
-
- var md5 = url.ToLower().GetMD5();
-
- return ImageSources.Any(i => i.ImageUrlMD5 == md5);
- }
-
- /// <summary>
/// Validates the screenshots.
/// </summary>
private bool ValidateScreenshots()
diff --git a/MediaBrowser.Controller/Entities/IHasImages.cs b/MediaBrowser.Controller/Entities/IHasImages.cs
index 18e6afcd1..1aa299c2a 100644
--- a/MediaBrowser.Controller/Entities/IHasImages.cs
+++ b/MediaBrowser.Controller/Entities/IHasImages.cs
@@ -99,13 +99,6 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <value>The backdrop image paths.</value>
List<string> BackdropImagePaths { get; set; }
-
- /// <summary>
- /// Determines whether [contains image with source URL] [the specified URL].
- /// </summary>
- /// <param name="url">The URL.</param>
- /// <returns><c>true</c> if [contains image with source URL] [the specified URL]; otherwise, <c>false</c>.</returns>
- bool ContainsImageWithSourceUrl(string url);
}
public static class HasImagesExtensions
diff --git a/MediaBrowser.Controller/Entities/IHasScreenshots.cs b/MediaBrowser.Controller/Entities/IHasScreenshots.cs
index 70d154a95..341d6403f 100644
--- a/MediaBrowser.Controller/Entities/IHasScreenshots.cs
+++ b/MediaBrowser.Controller/Entities/IHasScreenshots.cs
@@ -12,12 +12,5 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <value>The screenshot image paths.</value>
List<string> ScreenshotImagePaths { get; set; }
-
- /// <summary>
- /// Determines whether [contains image with source URL] [the specified URL].
- /// </summary>
- /// <param name="url">The URL.</param>
- /// <returns><c>true</c> if [contains image with source URL] [the specified URL]; otherwise, <c>false</c>.</returns>
- bool ContainsImageWithSourceUrl(string url);
}
}
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs
index c3a87fc31..d8ba019db 100644
--- a/MediaBrowser.Controller/Library/ILibraryManager.cs
+++ b/MediaBrowser.Controller/Library/ILibraryManager.cs
@@ -165,7 +165,6 @@ namespace MediaBrowser.Controller.Library
/// <param name="prescanTasks">The prescan tasks.</param>
/// <param name="postscanTasks">The postscan tasks.</param>
/// <param name="peoplePrescanTasks">The people prescan tasks.</param>
- /// <param name="savers">The savers.</param>
void AddParts(IEnumerable<IResolverIgnoreRule> rules,
IEnumerable<IVirtualFolderCreator> pluginFolders,
IEnumerable<IItemResolver> resolvers,
@@ -173,8 +172,7 @@ namespace MediaBrowser.Controller.Library
IEnumerable<IBaseItemComparer> itemComparers,
IEnumerable<ILibraryPrescanTask> prescanTasks,
IEnumerable<ILibraryPostScanTask> postscanTasks,
- IEnumerable<IPeoplePrescanTask> peoplePrescanTasks,
- IEnumerable<IMetadataSaver> savers);
+ IEnumerable<IPeoplePrescanTask> peoplePrescanTasks);
/// <summary>
/// Sorts the specified items.
@@ -301,14 +299,6 @@ namespace MediaBrowser.Controller.Library
string FindCollectionType(BaseItem item);
/// <summary>
- /// Saves the metadata.
- /// </summary>
- /// <param name="item">The item.</param>
- /// <param name="updateType">Type of the update.</param>
- /// <returns>Task.</returns>
- Task SaveMetadata(BaseItem item, ItemUpdateType updateType);
-
- /// <summary>
/// Gets all artists.
/// </summary>
/// <returns>IEnumerable{System.String}.</returns>
diff --git a/MediaBrowser.Controller/Library/IMetadataSaver.cs b/MediaBrowser.Controller/Library/IMetadataSaver.cs
index 15671af4d..0c75e7edc 100644
--- a/MediaBrowser.Controller/Library/IMetadataSaver.cs
+++ b/MediaBrowser.Controller/Library/IMetadataSaver.cs
@@ -1,4 +1,4 @@
-using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Providers;
using System.Threading;
namespace MediaBrowser.Controller.Library
@@ -9,19 +9,25 @@ namespace MediaBrowser.Controller.Library
public interface IMetadataSaver
{
/// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
/// Determines whether [is enabled for] [the specified item].
/// </summary>
/// <param name="item">The item.</param>
/// <param name="updateType">Type of the update.</param>
/// <returns><c>true</c> if [is enabled for] [the specified item]; otherwise, <c>false</c>.</returns>
- bool IsEnabledFor(BaseItem item, ItemUpdateType updateType);
+ bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType);
/// <summary>
/// Gets the save path.
/// </summary>
/// <param name="item">The item.</param>
/// <returns>System.String.</returns>
- string GetSavePath(BaseItem item);
+ string GetSavePath(IHasMetadata item);
/// <summary>
/// Saves the specified item.
@@ -29,6 +35,6 @@ namespace MediaBrowser.Controller.Library
/// <param name="item">The item.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- void Save(BaseItem item, CancellationToken cancellationToken);
+ void Save(IHasMetadata item, CancellationToken cancellationToken);
}
}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index b05f14a13..6b4228524 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -143,6 +143,7 @@
<Compile Include="Notifications\NotificationUpdateEventArgs.cs" />
<Compile Include="Persistence\IFileOrganizationRepository.cs" />
<Compile Include="Persistence\MediaStreamQuery.cs" />
+ <Compile Include="Providers\ICustomMetadataProvider.cs" />
<Compile Include="Providers\IDynamicInfoProvider.cs" />
<Compile Include="Providers\IHasMetadata.cs" />
<Compile Include="Providers\IImageProvider.cs" />
diff --git a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs
new file mode 100644
index 000000000..a53222b5a
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs
@@ -0,0 +1,15 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Providers
+{
+ public interface ICustomMetadataProvider : IMetadataProvider
+ {
+ }
+
+ public interface ICustomMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ICustomMetadataProvider
+ where TItemType : IHasMetadata
+ {
+ Task FetchAsync(TItemType item, CancellationToken cancellationToken);
+ }
+}
diff --git a/MediaBrowser.Controller/Providers/IHasMetadata.cs b/MediaBrowser.Controller/Providers/IHasMetadata.cs
index 4ee54f69e..1e2a76b79 100644
--- a/MediaBrowser.Controller/Providers/IHasMetadata.cs
+++ b/MediaBrowser.Controller/Providers/IHasMetadata.cs
@@ -27,5 +27,11 @@ namespace MediaBrowser.Controller.Providers
/// </summary>
/// <value>The date last saved.</value>
DateTime DateLastSaved { get; set; }
+
+ /// <summary>
+ /// Determines whether [is save local metadata enabled].
+ /// </summary>
+ /// <returns><c>true</c> if [is save local metadata enabled]; otherwise, <c>false</c>.</returns>
+ bool IsSaveLocalMetadataEnabled();
}
}
diff --git a/MediaBrowser.Controller/Providers/IMetadataService.cs b/MediaBrowser.Controller/Providers/IMetadataService.cs
index e9ce320ab..c4314c15f 100644
--- a/MediaBrowser.Controller/Providers/IMetadataService.cs
+++ b/MediaBrowser.Controller/Providers/IMetadataService.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Threading;
+using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
@@ -7,12 +6,6 @@ namespace MediaBrowser.Controller.Providers
public interface IMetadataService
{
/// <summary>
- /// Adds the parts.
- /// </summary>
- /// <param name="providers">The providers.</param>
- void AddParts(IEnumerable<IMetadataProvider> providers);
-
- /// <summary>
/// Determines whether this instance can refresh the specified item.
/// </summary>
/// <param name="item">The item.</param>
@@ -23,10 +16,10 @@ namespace MediaBrowser.Controller.Providers
/// Refreshes the metadata.
/// </summary>
/// <param name="item">The item.</param>
- /// <param name="options">The options.</param>
+ /// <param name="refreshOptions">The options.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- Task RefreshMetadata(IHasMetadata item, MetadataRefreshOptions options, CancellationToken cancellationToken);
+ Task RefreshMetadata(IHasMetadata item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken);
/// <summary>
/// Gets the order.
diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs
index 0159f778f..0e4f70c06 100644
--- a/MediaBrowser.Controller/Providers/IProviderManager.cs
+++ b/MediaBrowser.Controller/Providers/IProviderManager.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Providers;
using System.Collections.Generic;
@@ -64,7 +65,9 @@ namespace MediaBrowser.Controller.Providers
/// <param name="imageProviders">The image providers.</param>
/// <param name="metadataServices">The metadata services.</param>
/// <param name="metadataProviders">The metadata providers.</param>
- void AddParts(IEnumerable<BaseMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders, IEnumerable<IMetadataService> metadataServices, IEnumerable<IMetadataProvider> metadataProviders);
+ /// <param name="savers">The savers.</param>
+ void AddParts(IEnumerable<BaseMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders, IEnumerable<IMetadataService> metadataServices, IEnumerable<IMetadataProvider> metadataProviders,
+ IEnumerable<IMetadataSaver> savers);
/// <summary>
/// Gets the available remote images.
@@ -82,5 +85,19 @@ namespace MediaBrowser.Controller.Providers
/// <param name="item">The item.</param>
/// <returns>IEnumerable{ImageProviderInfo}.</returns>
IEnumerable<ImageProviderInfo> GetImageProviderInfo(IHasImages item);
+
+ /// <summary>
+ /// Gets all metadata plugins.
+ /// </summary>
+ /// <returns>IEnumerable{MetadataPlugin}.</returns>
+ IEnumerable<MetadataPluginSummary> GetAllMetadataPlugins();
+
+ /// <summary>
+ /// Saves the metadata.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="updateType">Type of the update.</param>
+ /// <returns>Task.</returns>
+ Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Providers/ItemId.cs b/MediaBrowser.Controller/Providers/ItemId.cs
index 3abb64bfb..3dbaa78fa 100644
--- a/MediaBrowser.Controller/Providers/ItemId.cs
+++ b/MediaBrowser.Controller/Providers/ItemId.cs
@@ -51,4 +51,22 @@ namespace MediaBrowser.Controller.Providers
/// <value>The artist music brainz identifier.</value>
public string ArtistMusicBrainzId { get; set; }
}
+
+ public class GameId : ItemId
+ {
+ /// <summary>
+ /// Gets or sets the game system.
+ /// </summary>
+ /// <value>The game system.</value>
+ public string GameSystem { get; set; }
+ }
+
+ public class GameSystemId : ItemId
+ {
+ /// <summary>
+ /// Gets or sets the path.
+ /// </summary>
+ /// <value>The path.</value>
+ public string Path { get; set; }
+ }
}