Selaa lähdekoodia

update recording styles

Luke Pulverenti 10 vuotta sitten
vanhempi
sitoutus
90843b218c

+ 0 - 6
MediaBrowser.Controller/LiveTv/LiveTvProgram.cs

@@ -60,12 +60,6 @@ namespace MediaBrowser.Controller.LiveTv
         /// <value><c>true</c> if this instance is repeat; otherwise, <c>false</c>.</value>
         public bool IsRepeat { get; set; }
 
-        /// <summary>
-        /// Gets or sets the external series identifier.
-        /// </summary>
-        /// <value>The external series identifier.</value>
-        public string ExternalSeriesId { get; set; }
-        
         /// <summary>
         /// Gets or sets the episode title.
         /// </summary>

+ 0 - 6
MediaBrowser.Model/LiveTv/SeriesTimerInfoDto.cs

@@ -48,12 +48,6 @@ namespace MediaBrowser.Model.LiveTv
         /// <value>The image tags.</value>
         public Dictionary<ImageType, string> ImageTags { get; set; }
 
-        /// <summary>
-        /// Gets or sets the external series identifier.
-        /// </summary>
-        /// <value>The external series identifier.</value>
-        public string ExternalSeriesId { get; set; }
-
         /// <summary>
         /// Gets a value indicating whether this instance has primary image.
         /// </summary>

+ 39 - 15
MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -251,14 +251,50 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
         {
             info.Id = Guid.NewGuid().ToString("N");
 
-            await UpdateTimersForSeriesTimer(info).ConfigureAwait(false);
+            List<ProgramInfo> epgData;
+            if (info.RecordAnyChannel)
+            {
+                var channels = await GetChannelsAsync(true, CancellationToken.None).ConfigureAwait(false);
+                var channelIds = channels.Select(i => i.Id).ToList();
+                epgData = GetEpgDataForChannels(channelIds);
+            }
+            else
+            {
+                epgData = GetEpgDataForChannel(info.ChannelId);
+            }
+
+            // populate info.seriesID
+            var program = epgData.FirstOrDefault(i => string.Equals(i.Id, info.ProgramId, StringComparison.OrdinalIgnoreCase));
+
+            if (program != null)
+            {
+                info.SeriesId = program.SeriesId;
+            }
+            else
+            {
+                throw new InvalidOperationException("SeriesId for program not found");
+            }
+
             _seriesTimerProvider.Add(info);
+            await UpdateTimersForSeriesTimer(epgData, info).ConfigureAwait(false);
         }
 
         public async Task UpdateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken)
         {
             _seriesTimerProvider.Update(info);
-            await UpdateTimersForSeriesTimer(info).ConfigureAwait(false);
+            List<ProgramInfo> epgData;
+            if (info.RecordAnyChannel)
+            {
+                var channels = await GetChannelsAsync(true, CancellationToken.None).ConfigureAwait(false);
+                var channelIds = channels.Select(i => i.Id).ToList();
+                epgData = GetEpgDataForChannels(channelIds);
+            }
+            else
+            {
+                epgData = GetEpgDataForChannel(info.ChannelId);
+            }
+
+            await UpdateTimersForSeriesTimer(epgData, info).ConfigureAwait(false);
         }
 
         public Task UpdateTimerAsync(TimerInfo info, CancellationToken cancellationToken)
@@ -597,20 +633,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
             return _config.GetConfiguration<LiveTvOptions>("livetv");
         }
 
-        private async Task UpdateTimersForSeriesTimer(SeriesTimerInfo seriesTimer)
+        private async Task UpdateTimersForSeriesTimer(List<ProgramInfo> epgData, SeriesTimerInfo seriesTimer)
         {
-            List<ProgramInfo> epgData;
-            if (seriesTimer.RecordAnyChannel)
-            {
-                var channels = await GetChannelsAsync(true, CancellationToken.None).ConfigureAwait(false);
-                var channelIds = channels.Select(i => i.Id).ToList();
-                epgData = GetEpgDataForChannels(channelIds);
-            }
-            else
-            {
-                epgData = GetEpgDataForChannel(seriesTimer.ChannelId);
-            }
-
             var newTimers = GetTimersForSeries(seriesTimer, epgData, _recordingProvider.GetAll()).ToList();
 
             var existingTimers = _timerProvider.GetAll()

+ 2 - 4
MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs

@@ -105,8 +105,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
                 ExternalProgramId = info.ProgramId,
                 ServiceName = service.Name,
                 ChannelName = channelName,
-                ServerId = _appHost.SystemId,
-                ExternalSeriesId = info.SeriesId
+                ServerId = _appHost.SystemId
             };
 
             if (!string.IsNullOrEmpty(info.ChannelId))
@@ -377,8 +376,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
                 RecordNewOnly = dto.RecordNewOnly,
                 ProgramId = dto.ExternalProgramId,
                 ChannelId = dto.ExternalChannelId,
-                Id = dto.ExternalId,
-                SeriesId = dto.ExternalSeriesId
+                Id = dto.ExternalId
             };
 
             // Convert internal server id's to external tv provider id's

+ 1 - 4
MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -627,7 +627,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
 
             item.ProductionYear = info.ProductionYear;
             item.PremiereDate = item.PremiereDate ?? info.OriginalAirDate;
-            item.ExternalSeriesId = info.SeriesId;
 
             if (isNew)
             {
@@ -1787,8 +1786,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
                     ImagePath = program.ProviderImagePath,
                     ImageUrl = program.ProviderImageUrl,
                     Name = program.Name,
-                    OfficialRating = program.OfficialRating,
-                    SeriesId = program.ExternalSeriesId
+                    OfficialRating = program.OfficialRating
                 };
             }
 
@@ -1831,7 +1829,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
             info.Overview = program.Overview;
             info.ProgramId = programDto.Id;
             info.ExternalProgramId = program.ExternalId;
-            info.ExternalSeriesId = program.ExternalSeriesId;
 
             if (program.EndDate.HasValue)
             {