diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-12 14:58:21 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-12 14:58:21 -0400 |
| commit | 933fca78e65c146b3cf16eefce6410b21e18cdbe (patch) | |
| tree | 679c7f4410698a7f766094a5b5366bcf36bd496b /MediaBrowser.Server.Implementations/LiveTv | |
| parent | d4b61da59d9adabadb5ef7d96be30350f6d4f476 (diff) | |
support sync for live tv recordings
Diffstat (limited to 'MediaBrowser.Server.Implementations/LiveTv')
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs | 25 |
2 files changed, 20 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs index 401cf8765..61017ffb3 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs @@ -8,12 +8,12 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Querying; using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Querying; namespace MediaBrowser.Server.Implementations.LiveTv { diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 92e2aedd2..3f164ee6f 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1148,7 +1148,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv RefreshIfNeeded(programs.Take(500)); // Load these now which will prefetch metadata - await GetRecordings(new RecordingQuery(), cancellationToken).ConfigureAwait(false); + var dtoOptions = new DtoOptions(); + dtoOptions.Fields.Remove(ItemFields.SyncInfo); + await GetRecordings(new RecordingQuery(), dtoOptions, cancellationToken).ConfigureAwait(false); progress.Report(100); } @@ -1322,7 +1324,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv }; } - public async Task<QueryResult<RecordingInfoDto>> GetRecordings(RecordingQuery query, CancellationToken cancellationToken) + public async Task<QueryResult<RecordingInfoDto>> GetRecordings(RecordingQuery query, DtoOptions options, CancellationToken cancellationToken) { var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId); @@ -1338,6 +1340,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv }) .ToArray(); + if (user != null) + { + _dtoService.FillSyncInfo(returnArray, new DtoOptions(), user); + } + return new QueryResult<RecordingInfoDto> { Items = returnArray, @@ -1410,7 +1417,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv public async Task DeleteRecording(string recordingId) { - var recording = await GetRecording(recordingId, CancellationToken.None).ConfigureAwait(false); + var dtoOptions = new DtoOptions(); + dtoOptions.Fields.Remove(ItemFields.SyncInfo); + + var recording = await GetRecording(recordingId, dtoOptions, CancellationToken.None).ConfigureAwait(false); if (recording == null) { @@ -1450,14 +1460,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv await service.CancelSeriesTimerAsync(timer.ExternalId, CancellationToken.None).ConfigureAwait(false); } - public async Task<RecordingInfoDto> GetRecording(string id, CancellationToken cancellationToken, User user = null) + public async Task<RecordingInfoDto> GetRecording(string id, DtoOptions options, CancellationToken cancellationToken, User user = null) { var results = await GetRecordings(new RecordingQuery { UserId = user == null ? null : user.Id.ToString("N"), Id = id - }, cancellationToken).ConfigureAwait(false); + }, options, cancellationToken).ConfigureAwait(false); return results.Items.FirstOrDefault(); } @@ -1737,11 +1747,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv public async Task<QueryResult<RecordingGroupDto>> GetRecordingGroups(RecordingGroupQuery query, CancellationToken cancellationToken) { + var dtoOptions = new DtoOptions(); + dtoOptions.Fields.Remove(ItemFields.SyncInfo); + var recordingResult = await GetRecordings(new RecordingQuery { UserId = query.UserId - }, cancellationToken).ConfigureAwait(false); + }, dtoOptions, cancellationToken).ConfigureAwait(false); var recordings = recordingResult.Items; |
