mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-24 15:05:24 -07:00
Move Build episode list out from string builder
This commit is contained in:
parent
d25ee81d4c
commit
24379405cf
3 changed files with 54 additions and 54 deletions
|
@ -75,58 +75,7 @@ namespace Ombi.Helpers
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string BuildEpisodeList(IEnumerable<(int EpisodeNumber, DateTime? Aired)> orderedEpisodes)
|
|
||||||
{
|
|
||||||
var epSb = new StringBuilder();
|
|
||||||
var previousEpisodes = new List<(int EpisodeNumber, DateTime? Aired)>();
|
|
||||||
var previousEpisode = -1;
|
|
||||||
foreach (var ep in orderedEpisodes)
|
|
||||||
{
|
|
||||||
if (ep.EpisodeNumber - 1 == previousEpisode)
|
|
||||||
{
|
|
||||||
// This is the next one
|
|
||||||
previousEpisodes.Add(ep);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (previousEpisodes.Count > 1)
|
|
||||||
{
|
|
||||||
// End it
|
|
||||||
(int EpisodeNumber, DateTime? Aired) first = previousEpisodes.First();
|
|
||||||
(int EpisodeNumber, DateTime? Aired) last = previousEpisodes.Last();
|
|
||||||
|
|
||||||
epSb.Append($"{first.EpisodeNumber}-{last.EpisodeNumber}{(last.Aired.HasValue ? $" {last.Aired.Value:MM/yyyy}" : string.Empty)}, ");
|
|
||||||
}
|
|
||||||
else if (previousEpisodes.Count == 1)
|
|
||||||
{
|
|
||||||
(int EpisodeNumber, DateTime? Aired) = previousEpisodes.FirstOrDefault();
|
|
||||||
epSb.Append($"{EpisodeNumber}{(Aired.HasValue ? $" {Aired.Value:MM/yyyy}" : string.Empty)}, ");
|
|
||||||
}
|
|
||||||
// New one
|
|
||||||
previousEpisodes.Clear();
|
|
||||||
previousEpisodes.Add(ep);
|
|
||||||
}
|
|
||||||
previousEpisode = ep.EpisodeNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (previousEpisodes.Count > 1)
|
|
||||||
{
|
|
||||||
// Got some left over
|
|
||||||
(int EpisodeNumber, DateTime? Aired) first = previousEpisodes.First();
|
|
||||||
(int EpisodeNumber, DateTime? Aired) last = previousEpisodes.Last();
|
|
||||||
epSb.Append($"{first.EpisodeNumber}-{last.EpisodeNumber}{(last.Aired.HasValue ? $" {last.Aired.Value:MM/yyyy}" : string.Empty)}");
|
|
||||||
}
|
|
||||||
else if (previousEpisodes.Count == 1)
|
|
||||||
{
|
|
||||||
(int EpisodeNumber, DateTime? Aired) = previousEpisodes.FirstOrDefault();
|
|
||||||
// string.Empty used instead of "" as extra space was being added at the end
|
|
||||||
epSb.Append($"{EpisodeNumber}{(Aired.HasValue ? $" {Aired.Value:d}" : string.Empty)}");
|
|
||||||
}
|
|
||||||
|
|
||||||
return epSb.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string BuildEpisodeList(IEnumerable<int> orderedEpisodes)
|
public static string BuildEpisodeList(IEnumerable<int> orderedEpisodes)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Ombi.Helpers;
|
using Ombi.Helpers;
|
||||||
|
using Ombi.Schedule.Jobs.Ombi;
|
||||||
using static Ombi.Schedule.Jobs.Ombi.NewsletterJob;
|
using static Ombi.Schedule.Jobs.Ombi.NewsletterJob;
|
||||||
|
|
||||||
namespace Ombi.Schedule.Tests
|
namespace Ombi.Schedule.Tests
|
||||||
|
@ -40,7 +41,7 @@ namespace Ombi.Schedule.Tests
|
||||||
{
|
{
|
||||||
ep.Add(i);
|
ep.Add(i);
|
||||||
}
|
}
|
||||||
var result = StringHelper.BuildEpisodeList(ep);
|
var result = BuildEpisodeList(ep);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -813,7 +813,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
foreach (var epInformation in results.OrderBy(x => x.SeasonNumber))
|
foreach (var epInformation in results.OrderBy(x => x.SeasonNumber))
|
||||||
{
|
{
|
||||||
var orderedEpisodes = epInformation.Episodes.OrderBy(x => x.EpisodeNumber).ToList();
|
var orderedEpisodes = epInformation.Episodes.OrderBy(x => x.EpisodeNumber).ToList();
|
||||||
var episodeString = StringHelper.BuildEpisodeList(orderedEpisodes.Select(x => (x.EpisodeNumber, x.Aired)));
|
var episodeString = BuildEpisodeList(orderedEpisodes.Select(x => (x.EpisodeNumber, x.Aired)));
|
||||||
var seasonAirDate = epInformation.SeasonAirDate;
|
var seasonAirDate = epInformation.SeasonAirDate;
|
||||||
finalsb.Append($"Season: {epInformation.SeasonNumber} - Episodes: {episodeString} {seasonAirDate}");
|
finalsb.Append($"Season: {epInformation.SeasonNumber} - Episodes: {episodeString} {seasonAirDate}");
|
||||||
finalsb.Append("<br />");
|
finalsb.Append("<br />");
|
||||||
|
@ -852,6 +852,56 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string BuildEpisodeList(IEnumerable<(int EpisodeNumber, DateTime? Aired)> orderedEpisodes)
|
||||||
|
{
|
||||||
|
var epSb = new StringBuilder();
|
||||||
|
var previousEpisodes = new List<(int EpisodeNumber, DateTime? Aired)>();
|
||||||
|
var previousEpisode = -1;
|
||||||
|
foreach (var ep in orderedEpisodes)
|
||||||
|
{
|
||||||
|
if (ep.EpisodeNumber - 1 == previousEpisode)
|
||||||
|
{
|
||||||
|
// This is the next one
|
||||||
|
previousEpisodes.Add(ep);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (previousEpisodes.Count > 1)
|
||||||
|
{
|
||||||
|
// End it
|
||||||
|
(int EpisodeNumber, DateTime? Aired) first = previousEpisodes.First();
|
||||||
|
(int EpisodeNumber, DateTime? Aired) last = previousEpisodes.Last();
|
||||||
|
|
||||||
|
epSb.Append($"{first.EpisodeNumber}-{last.EpisodeNumber}{(last.Aired.HasValue ? $" {last.Aired.Value:MM/yyyy}" : string.Empty)}, ");
|
||||||
|
}
|
||||||
|
else if (previousEpisodes.Count == 1)
|
||||||
|
{
|
||||||
|
(int EpisodeNumber, DateTime? Aired) = previousEpisodes.FirstOrDefault();
|
||||||
|
epSb.Append($"{EpisodeNumber}{(Aired.HasValue ? $" {Aired.Value:MM/yyyy}" : string.Empty)}, ");
|
||||||
|
}
|
||||||
|
// New one
|
||||||
|
previousEpisodes.Clear();
|
||||||
|
previousEpisodes.Add(ep);
|
||||||
|
}
|
||||||
|
previousEpisode = ep.EpisodeNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (previousEpisodes.Count > 1)
|
||||||
|
{
|
||||||
|
// Got some left over
|
||||||
|
(int EpisodeNumber, DateTime? Aired) first = previousEpisodes.First();
|
||||||
|
(int EpisodeNumber, DateTime? Aired) last = previousEpisodes.Last();
|
||||||
|
epSb.Append($"{first.EpisodeNumber}-{last.EpisodeNumber}{(last.Aired.HasValue ? $" {last.Aired.Value:MM/yyyy}" : string.Empty)}");
|
||||||
|
}
|
||||||
|
else if (previousEpisodes.Count == 1)
|
||||||
|
{
|
||||||
|
(int EpisodeNumber, DateTime? Aired) = previousEpisodes.FirstOrDefault();
|
||||||
|
// string.Empty used instead of "" as extra space was being added at the end
|
||||||
|
epSb.Append($"{EpisodeNumber}{(Aired.HasValue ? $" {Aired.Value:d}" : string.Empty)}");
|
||||||
|
}
|
||||||
|
|
||||||
|
return epSb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private async Task ProcessEmbyTv(HashSet<EmbyEpisode> embyContent, StringBuilder sb, string serverUrl)
|
private async Task ProcessEmbyTv(HashSet<EmbyEpisode> embyContent, StringBuilder sb, string serverUrl)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue