From 60e2fd4d44ef5dcdcf2ce011bb79b55c148f1259 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Feb 2014 23:52:52 -0500 Subject: support mcm episodes --- MediaBrowser.Controller/Entities/Book.cs | 16 ++++++++++++++-- MediaBrowser.Controller/LiveTv/LiveTvProgram.cs | 10 ++++++++++ .../Providers/ILocalMetadataProvider.cs | 21 ++++++++++++++++++--- MediaBrowser.Controller/Providers/ItemLookupInfo.cs | 2 +- 4 files changed, 43 insertions(+), 6 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/Book.cs b/MediaBrowser.Controller/Entities/Book.cs index 85cf60c52..0405fc484 100644 --- a/MediaBrowser.Controller/Entities/Book.cs +++ b/MediaBrowser.Controller/Entities/Book.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Providers; +using System.Linq; +using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using System.Collections.Generic; @@ -42,7 +43,18 @@ namespace MediaBrowser.Controller.Entities public BookInfo GetLookupInfo() { - return GetItemLookupInfo(); + var info = GetItemLookupInfo(); + + if (string.IsNullOrEmpty(SeriesName)) + { + info.SeriesName = Parents.Select(i => i.Name).FirstOrDefault(); + } + else + { + info.SeriesName = SeriesName; + } + + return info; } } } diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs index 497cfad67..48041da11 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs @@ -1,6 +1,9 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; using MediaBrowser.Model.LiveTv; using System; +using System.Threading; +using System.Threading.Tasks; namespace MediaBrowser.Controller.LiveTv { @@ -184,5 +187,12 @@ namespace MediaBrowser.Controller.LiveTv { return "Program"; } + + public override Task UpdateToRepository(ItemUpdateType updateReason, CancellationToken cancellationToken) + { + // Avoid library manager and keep out of in-memory cache + // Not great that this class has to know about that, but we'll improve that later. + return ItemRepository.SaveItem(this, cancellationToken); + } } } diff --git a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs index ccb8c1c5f..a7c1e6e1b 100644 --- a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs @@ -1,6 +1,7 @@ -using System.Threading; +using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Controller.Entities; namespace MediaBrowser.Controller.Providers { @@ -17,7 +18,7 @@ namespace MediaBrowser.Controller.Providers /// The information. /// The cancellation token. /// Task{MetadataResult{`0}}. - Task> GetMetadata(ItemInfo info, CancellationToken cancellationToken); + Task> GetMetadata(ItemInfo info, CancellationToken cancellationToken); } public class ItemInfo @@ -26,4 +27,18 @@ namespace MediaBrowser.Controller.Providers public bool IsInMixedFolder { get; set; } } + + public class LocalMetadataResult + where T : IHasMetadata + { + public bool HasMetadata { get; set; } + public T Item { get; set; } + + public List Images { get; set; } + + public LocalMetadataResult() + { + Images = new List(); + } + } } diff --git a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs index e8321d0b1..b43654005 100644 --- a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs +++ b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs @@ -147,7 +147,7 @@ namespace MediaBrowser.Controller.Providers public class BookInfo : ItemLookupInfo { - + public string SeriesName { get; set; } } public class SeasonInfo : ItemLookupInfo -- cgit v1.2.3