aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-19 11:38:05 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-03-19 11:38:05 -0400
commit1d2b6329bf3d395c57ac45a0f56b2e15bbee4c22 (patch)
treed1938509e92eac1b2f8ac9f5657785a155a05d50 /MediaBrowser.Server.Implementations
parent5dd77ab145553ea81b9faa6167a426b1ddcf1e9b (diff)
update channels
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelManager.cs24
-rw-r--r--MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs11
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserViewManager.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs12
4 files changed, 38 insertions, 11 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index 775f7224c..ee49a7005 100644
--- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
+++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
@@ -27,6 +27,8 @@ using System.Threading;
using System.Threading.Tasks;
using CommonIO;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Entities.TV;
namespace MediaBrowser.Server.Implementations.Channels
{
@@ -252,7 +254,7 @@ namespace MediaBrowser.Server.Implementations.Channels
public async Task<IEnumerable<MediaSourceInfo>> GetStaticMediaSources(BaseItem item, bool includeCachedVersions, CancellationToken cancellationToken)
{
IEnumerable<ChannelMediaInfo> results = new List<ChannelMediaInfo>();
- var video = item as ChannelVideoItem;
+ var video = item as Video;
if (video != null)
{
results = video.ChannelMediaSources;
@@ -1263,7 +1265,22 @@ namespace MediaBrowser.Server.Implementations.Channels
}
else
{
- item = GetItemById<ChannelVideoItem>(info.Id, channelProvider.Name, channelProvider.DataVersion, out isNew);
+ if (info.ContentType == ChannelMediaContentType.Episode)
+ {
+ item = GetItemById<Episode>(info.Id, channelProvider.Name, channelProvider.DataVersion, out isNew);
+ }
+ else if (info.ContentType == ChannelMediaContentType.Movie)
+ {
+ item = GetItemById<Movie>(info.Id, channelProvider.Name, channelProvider.DataVersion, out isNew);
+ }
+ else if (info.ContentType == ChannelMediaContentType.Trailer || info.ExtraType == ExtraType.Trailer)
+ {
+ item = GetItemById<Trailer>(info.Id, channelProvider.Name, channelProvider.DataVersion, out isNew);
+ }
+ else
+ {
+ item = GetItemById<Video>(info.Id, channelProvider.Name, channelProvider.DataVersion, out isNew);
+ }
}
item.RunTimeTicks = info.RunTimeTicks;
@@ -1309,10 +1326,9 @@ namespace MediaBrowser.Server.Implementations.Channels
item.Path = mediaSource == null ? null : mediaSource.Path;
}
- var channelVideoItem = item as ChannelVideoItem;
+ var channelVideoItem = item as Video;
if (channelVideoItem != null)
{
- channelVideoItem.ContentType = info.ContentType;
channelVideoItem.ExtraType = info.ExtraType;
channelVideoItem.ChannelMediaSources = info.MediaSources;
diff --git a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs
index b72406730..e776e58f9 100644
--- a/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/LocalTrailerPostScanTask.cs
@@ -28,12 +28,13 @@ namespace MediaBrowser.Server.Implementations.Library
.Cast<IHasTrailers>()
.ToList();
- var channelTrailerResult = await _channelManager.GetAllMediaInternal(new AllChannelMediaQuery
+ var trailerResult = _libraryManager.GetItems(new InternalItemsQuery
{
- ExtraTypes = new[] { ExtraType.Trailer }
+ IncludeItemTypes = new[] { typeof(Trailer).Name },
+ //IsLocalTrailer = false
- }, CancellationToken.None);
- var channelTrailers = channelTrailerResult.Items;
+ });
+ var trailers = trailerResult.Items;
var numComplete = 0;
@@ -41,7 +42,7 @@ namespace MediaBrowser.Server.Implementations.Library
{
cancellationToken.ThrowIfCancellationRequested();
- await AssignTrailers(item, channelTrailers).ConfigureAwait(false);
+ await AssignTrailers(item, trailers).ConfigureAwait(false);
numComplete++;
double percent = numComplete;
diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
index b612e0e37..9d276ada2 100644
--- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
@@ -287,7 +287,7 @@ namespace MediaBrowser.Server.Implementations.Library
ExcludeItemTypes = excludeItemTypes,
ExcludeLocationTypes = new[] { LocationType.Virtual },
Limit = limit * 20,
- SourceTypes = new[] { SourceType.Library }
+ ExcludeSourceTypes = parentIds.Length == 0 ? new[] { SourceType.Channel, SourceType.LiveTV } : new SourceType[] { }
}, parentIds);
}
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 51ac1351e..c224c45d5 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -1891,6 +1891,17 @@ namespace MediaBrowser.Server.Implementations.Persistence
var inClause = string.Join(",", query.SourceTypes.Select(i => "'" + i + "'").ToArray());
whereClauses.Add(string.Format("SourceType in ({0})", inClause));
}
+
+ if (query.ExcludeSourceTypes.Length == 1)
+ {
+ whereClauses.Add("SourceType<>@SourceType");
+ cmd.Parameters.Add(cmd, "@SourceType", DbType.String).Value = query.SourceTypes[0];
+ }
+ else if (query.ExcludeSourceTypes.Length > 1)
+ {
+ var inClause = string.Join(",", query.ExcludeSourceTypes.Select(i => "'" + i + "'").ToArray());
+ whereClauses.Add(string.Format("SourceType not in ({0})", inClause));
+ }
if (query.IsAiring.HasValue)
{
@@ -2067,7 +2078,6 @@ namespace MediaBrowser.Server.Implementations.Persistence
typeof(Trailer),
typeof(BoxSet),
typeof(Episode),
- typeof(ChannelVideoItem),
typeof(Season),
typeof(Series),
typeof(Book),