Browse Source

fix xmltv generation when no block items are selected for guide (#1702)

pull/1703/head
Jason Dove 1 year ago committed by GitHub
parent
commit
48a504735c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      .editorconfig
  2. 9
      ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs

2
.editorconfig

@ -2,7 +2,7 @@
[*] [*]
charset=utf-8 charset=utf-8
end_of_line=lf end_of_line=lf
trim_trailing_whitespace=false trim_trailing_whitespace=true
insert_final_newline=false insert_final_newline=false
indent_style=space indent_style=space
indent_size=4 indent_size=4

9
ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs

@ -170,13 +170,13 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
await using var xml = XmlWriter.Create( await using var xml = XmlWriter.Create(
ms, ms,
new XmlWriterSettings { Async = true, ConformanceLevel = ConformanceLevel.Fragment }); new XmlWriterSettings { Async = true, ConformanceLevel = ConformanceLevel.Fragment });
int daysToBuild = await _configElementRepository int daysToBuild = await _configElementRepository
.GetValue<int>(ConfigElementKey.XmltvDaysToBuild) .GetValue<int>(ConfigElementKey.XmltvDaysToBuild)
.IfNoneAsync(2); .IfNoneAsync(2);
DateTimeOffset finish = DateTimeOffset.UtcNow.AddDays(daysToBuild); DateTimeOffset finish = DateTimeOffset.UtcNow.AddDays(daysToBuild);
foreach (Playout playout in playouts) foreach (Playout playout in playouts)
{ {
switch (playout.ProgramSchedulePlayoutType) switch (playout.ProgramSchedulePlayoutType)
@ -367,6 +367,11 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
TimeSpan groupDuration = groupFinish - groupStart; TimeSpan groupDuration = groupFinish - groupStart;
var itemsToInclude = group.Filter(g => g.FillerKind is FillerKind.None).ToList(); var itemsToInclude = group.Filter(g => g.FillerKind is FillerKind.None).ToList();
if (itemsToInclude.Count == 0)
{
continue;
}
TimeSpan perItem = groupDuration / itemsToInclude.Count; TimeSpan perItem = groupDuration / itemsToInclude.Count;
DateTimeOffset currentStart = new DateTimeOffset(groupStart, TimeSpan.Zero).ToLocalTime(); DateTimeOffset currentStart = new DateTimeOffset(groupStart, TimeSpan.Zero).ToLocalTime();

Loading…
Cancel
Save