diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-07-25 15:17:44 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-07-25 15:17:44 -0400 |
| commit | bb721f610b4063c64111ca524920cd8062e64ec3 (patch) | |
| tree | b03f8a14a204b732c790940e53ed5aa7599e7770 /MediaBrowser.Controller | |
| parent | 4c19b9382feb560e3735f4a16fe691f1851b5244 (diff) | |
Added CumulativeRunTimeTicks
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Dto/DtoBuilder.cs | 22 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs | 1 |
2 files changed, 19 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index 078b3c664..6f9836448 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -277,12 +277,16 @@ namespace MediaBrowser.Controller.Dto if (item.IsFolder) { - if (fields.Contains(ItemFields.ItemCounts)) + var hasItemCounts = fields.Contains(ItemFields.ItemCounts); + + if (hasItemCounts || fields.Contains(ItemFields.CumulativeRunTimeTicks)) { var folder = (Folder)item; - // Skip sorting since all we want is a count - dto.ChildCount = folder.GetChildren(user, true).Count(); + if (hasItemCounts) + { + dto.ChildCount = folder.GetChildren(user, true).Count(); + } SetSpecialCounts(folder, user, dto, _userDataRepository); } @@ -749,6 +753,7 @@ namespace MediaBrowser.Controller.Dto var rcentlyAddedItemCount = 0; var recursiveItemCount = 0; var unplayed = 0; + long runtime = 0; double totalPercentPlayed = 0; @@ -788,6 +793,8 @@ namespace MediaBrowser.Controller.Dto { unplayed++; } + + runtime += child.RunTimeTicks ?? 0; } dto.RecursiveItemCount = recursiveItemCount; @@ -798,6 +805,11 @@ namespace MediaBrowser.Controller.Dto { dto.PlayedPercentage = totalPercentPlayed / recursiveItemCount; } + + if (runtime > 0) + { + dto.CumulativeRunTimeTicks = runtime; + } } /// <summary> @@ -833,7 +845,9 @@ namespace MediaBrowser.Controller.Dto )).ConfigureAwait(false); - var dictionary = entities.Where(i => i != null).ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase); + var dictionary = entities.Where(i => i != null) + .Distinct() + .ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase); for (var i = 0; i < people.Count; i++) { diff --git a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs index d57c354f7..9564bf5a8 100644 --- a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs +++ b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs @@ -24,6 +24,7 @@ namespace MediaBrowser.Controller.Resolvers ".m2ts", ".img", ".iso", + ".mk3d", ".ts", ".rmvb", ".mov", |
