aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto/DtoService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto/DtoService.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs71
1 files changed, 31 insertions, 40 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 257e0feb1..edfef38fd 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -98,7 +98,7 @@ namespace MediaBrowser.Server.Implementations.Dto
var byName = item as IItemByName;
- if (byName != null && !(item is LiveTvChannel))
+ if (byName != null)
{
if (options.Fields.Contains(ItemFields.ItemCounts))
{
@@ -140,7 +140,7 @@ namespace MediaBrowser.Server.Implementations.Dto
var byName = item as IItemByName;
- if (byName != null && !(item is LiveTvChannel))
+ if (byName != null)
{
if (options.Fields.Contains(ItemFields.ItemCounts))
{
@@ -187,7 +187,7 @@ namespace MediaBrowser.Server.Implementations.Dto
{
if (!options.Fields.Contains(ItemFields.SyncInfo))
{
- return new SyncedItemProgress[]{};
+ return new SyncedItemProgress[] { };
}
var deviceId = options.DeviceId;
@@ -281,7 +281,7 @@ namespace MediaBrowser.Server.Implementations.Dto
}
}
- private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, Dictionary<string,SyncedItemProgress> syncProgress, User user = null, BaseItem owner = null)
+ private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, Dictionary<string, SyncedItemProgress> syncProgress, User user = null, BaseItem owner = null)
{
var fields = options.Fields;
@@ -351,6 +351,20 @@ namespace MediaBrowser.Server.Implementations.Dto
AttachBasicFields(dto, item, owner, options);
+ var tvChannel = item as LiveTvChannel;
+ if (tvChannel != null)
+ {
+ _livetvManager().AddChannelInfo(dto, tvChannel, options, user);
+ }
+
+ var collectionFolder = item as ICollectionFolder;
+ if (collectionFolder != null)
+ {
+ dto.CollectionType = user == null ?
+ collectionFolder.CollectionType :
+ collectionFolder.GetViewType(user);
+ }
+
var playlist = item as Playlist;
if (playlist != null)
{
@@ -389,8 +403,7 @@ namespace MediaBrowser.Server.Implementations.Dto
return dto;
}
- public BaseItemDto GetItemByNameDto<T>(T item, DtoOptions options, List<BaseItem> taggedItems, User user = null)
- where T : BaseItem, IItemByName
+ public BaseItemDto GetItemByNameDto(BaseItem item, DtoOptions options, List<BaseItem> taggedItems, User user = null)
{
var syncProgress = GetSyncedItemProgress(options);
@@ -1066,12 +1079,6 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.DisplayOrder = hasDisplayOrder.DisplayOrder;
}
- var collectionFolder = item as ICollectionFolder;
- if (collectionFolder != null)
- {
- dto.CollectionType = collectionFolder.CollectionType;
- }
-
var userView = item as UserView;
if (userView != null)
{
@@ -1519,16 +1526,11 @@ namespace MediaBrowser.Server.Implementations.Dto
SetPhotoProperties(dto, photo);
}
- var tvChannel = item as LiveTvChannel;
- if (tvChannel != null)
- {
- dto.MediaSources = _mediaSourceManager().GetStaticMediaSources(tvChannel, true).ToList();
- }
-
+ dto.ChannelId = item.ChannelId;
+
var channelItem = item as IChannelItem;
if (channelItem != null)
{
- dto.ChannelId = channelItem.ChannelId;
dto.ChannelName = _channelManagerFactory().GetChannel(channelItem.ChannelId).Name;
}
@@ -1629,7 +1631,7 @@ namespace MediaBrowser.Server.Implementations.Dto
/// <param name="fields">The fields.</param>
/// <param name="syncProgress">The synchronize progress.</param>
/// <returns>Task.</returns>
- private void SetSpecialCounts(Folder folder, User user, BaseItemDto dto, List<ItemFields> fields, Dictionary<string,SyncedItemProgress> syncProgress)
+ private void SetSpecialCounts(Folder folder, User user, BaseItemDto dto, List<ItemFields> fields, Dictionary<string, SyncedItemProgress> syncProgress)
{
var recursiveItemCount = 0;
var unplayed = 0;
@@ -1640,21 +1642,15 @@ namespace MediaBrowser.Server.Implementations.Dto
double totalSyncPercent = 0;
var addSyncInfo = fields.Contains(ItemFields.SyncInfo);
- IEnumerable<BaseItem> children;
-
- var season = folder as Season;
-
- if (season != null)
+ var children = folder.GetItems(new InternalItemsQuery
{
- children = season
- .GetEpisodes(user)
- .Where(i => i.LocationType != LocationType.Virtual);
- }
- else
- {
- children = folder
- .GetRecursiveChildren(user, i => !i.IsFolder && i.LocationType != LocationType.Virtual);
- }
+ IsFolder = false,
+ Recursive = true,
+ IsVirtualUnaired = false,
+ IsMissing = false,
+ User = user
+
+ }).Result.Items;
// Loop through each recursive child
foreach (var child in children)
@@ -1772,14 +1768,9 @@ namespace MediaBrowser.Server.Implementations.Dto
{
size = _imageProcessor.GetImageSize(imageInfo);
}
- catch (FileNotFoundException)
- {
- _logger.Error("Image file does not exist: {0}", path);
- return;
- }
catch (Exception ex)
{
- _logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
+ //_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
return;
}