aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-12 00:49:19 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-12 00:49:19 -0500
commit1aff48b93b72fe7d418b4798f504bd0d145f44e8 (patch)
tree5557717b3ecbf79d7fbb6f531102f5bceafd4fa5 /MediaBrowser.Controller/Entities
parenta8d9a3440d0143aa7cf564f21aff2eadc4b88e6a (diff)
move book support into the core
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs12
-rw-r--r--MediaBrowser.Controller/Entities/AudioBook.cs64
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs9
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs1
-rw-r--r--MediaBrowser.Controller/Entities/TV/Episode.cs3
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs9
6 files changed, 96 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs
index 9072e1094..8c820d367 100644
--- a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs
+++ b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs
@@ -1,6 +1,16 @@
-namespace MediaBrowser.Controller.Entities.Audio
+using MediaBrowser.Model.Serialization;
+
+namespace MediaBrowser.Controller.Entities.Audio
{
public class AudioPodcast : Audio
{
+ [IgnoreDataMember]
+ public override bool SupportsPositionTicksResume
+ {
+ get
+ {
+ return true;
+ }
+ }
}
}
diff --git a/MediaBrowser.Controller/Entities/AudioBook.cs b/MediaBrowser.Controller/Entities/AudioBook.cs
new file mode 100644
index 000000000..efeb9b497
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/AudioBook.cs
@@ -0,0 +1,64 @@
+using System;
+using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Serialization;
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Controller.Entities
+{
+ public class AudioBook : Audio.Audio, IHasSeries
+ {
+ [IgnoreDataMember]
+ public override bool SupportsPositionTicksResume
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ [IgnoreDataMember]
+ public string SeriesPresentationUniqueKey { get; set; }
+ [IgnoreDataMember]
+ public string SeriesName { get; set; }
+ [IgnoreDataMember]
+ public Guid? SeriesId { get; set; }
+ [IgnoreDataMember]
+ public string SeriesSortName { get; set; }
+
+ public string FindSeriesSortName()
+ {
+ return SeriesSortName;
+ }
+ public string FindSeriesName()
+ {
+ return SeriesName;
+ }
+ public string FindSeriesPresentationUniqueKey()
+ {
+ return SeriesPresentationUniqueKey;
+ }
+
+ [IgnoreDataMember]
+ public override bool EnableRefreshOnDateModifiedChange
+ {
+ get { return true; }
+ }
+
+ public Guid? FindSeriesId()
+ {
+ return SeriesId;
+ }
+
+ public override bool CanDownload()
+ {
+ var locationType = LocationType;
+ return locationType != LocationType.Remote &&
+ locationType != LocationType.Virtual;
+ }
+
+ public override UnratedItem GetBlockUnratedType()
+ {
+ return UnratedItem.Book;
+ }
+ }
+}
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index b7ea7a92d..9f4503466 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -142,6 +142,15 @@ namespace MediaBrowser.Controller.Entities
}
}
+ [IgnoreDataMember]
+ public virtual bool SupportsPositionTicksResume
+ {
+ get
+ {
+ return false;
+ }
+ }
+
public bool DetectIsInMixedFolder()
{
if (SupportsIsInMixedFolderDetection)
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 68dd055f3..ebc55ca8a 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -264,6 +264,7 @@ namespace MediaBrowser.Controller.Entities
/// Our children are actually just references to the ones in the physical root...
/// </summary>
/// <value>The linked children.</value>
+ [IgnoreDataMember]
public override List<LinkedChild> LinkedChildren
{
get { return GetLinkedChildrenInternal(); }
diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs
index 737257898..e6ebcb7fd 100644
--- a/MediaBrowser.Controller/Entities/TV/Episode.cs
+++ b/MediaBrowser.Controller/Entities/TV/Episode.cs
@@ -193,9 +193,10 @@ namespace MediaBrowser.Controller.Entities.TV
{
return "Season " + ParentIndexNumber.Value.ToString(CultureInfo.InvariantCulture);
}
+ return "Season Unknown";
}
- return season == null ? SeasonName : season.Name;
+ return season.Name;
}
public string FindSeriesName()
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index 2dd134334..7ba59df4f 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -45,6 +45,15 @@ namespace MediaBrowser.Controller.Entities
}
[IgnoreDataMember]
+ public override bool SupportsPositionTicksResume
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ [IgnoreDataMember]
protected override bool SupportsIsInMixedFolderDetection
{
get