aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-08 23:52:52 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-08 23:52:52 -0500
commit60e2fd4d44ef5dcdcf2ce011bb79b55c148f1259 (patch)
treee328c1b080b339c12a6c1fd7a8e8eff8081f865c /MediaBrowser.Controller
parentf29469c9056faf361ce7c6f6dc7909af4c3b3edc (diff)
support mcm episodes
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Book.cs16
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveTvProgram.cs10
-rw-r--r--MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs21
-rw-r--r--MediaBrowser.Controller/Providers/ItemLookupInfo.cs2
4 files changed, 43 insertions, 6 deletions
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<BookInfo>();
+ var info = GetItemLookupInfo<BookInfo>();
+
+ 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
/// <param name="info">The information.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{MetadataResult{`0}}.</returns>
- Task<MetadataResult<TItemType>> GetMetadata(ItemInfo info, CancellationToken cancellationToken);
+ Task<LocalMetadataResult<TItemType>> GetMetadata(ItemInfo info, CancellationToken cancellationToken);
}
public class ItemInfo
@@ -26,4 +27,18 @@ namespace MediaBrowser.Controller.Providers
public bool IsInMixedFolder { get; set; }
}
+
+ public class LocalMetadataResult<T>
+ where T : IHasMetadata
+ {
+ public bool HasMetadata { get; set; }
+ public T Item { get; set; }
+
+ public List<LocalImageInfo> Images { get; set; }
+
+ public LocalMetadataResult()
+ {
+ Images = new List<LocalImageInfo>();
+ }
+ }
}
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