feat(sync): Emby+Jellyfin - sync multi-episode files of 3+ episodes

This commit is contained in:
sephrat 2022-05-04 11:20:57 +02:00
commit 0ab93a7ba3
2 changed files with 37 additions and 22 deletions

View file

@ -170,10 +170,15 @@ namespace Ombi.Schedule.Jobs.Emby
if (ep.IndexNumberEnd.HasValue && ep.IndexNumberEnd.Value != ep.IndexNumber) if (ep.IndexNumberEnd.HasValue && ep.IndexNumberEnd.Value != ep.IndexNumber)
{ {
int episodeNumber = ep.IndexNumber;
do
{
_logger.LogDebug($"Multiple-episode file detected. Adding episode ${episodeNumber}");
episodeNumber++;
epToAdd.Add(new EmbyEpisode epToAdd.Add(new EmbyEpisode
{ {
EmbyId = ep.Id, EmbyId = ep.Id,
EpisodeNumber = ep.IndexNumberEnd.Value, EpisodeNumber = episodeNumber,
SeasonNumber = ep.ParentIndexNumber, SeasonNumber = ep.ParentIndexNumber,
ParentId = ep.SeriesId, ParentId = ep.SeriesId,
TvDbId = ep.ProviderIds.Tvdb, TvDbId = ep.ProviderIds.Tvdb,
@ -182,6 +187,9 @@ namespace Ombi.Schedule.Jobs.Emby
Title = ep.Name, Title = ep.Name,
AddedAt = DateTime.UtcNow AddedAt = DateTime.UtcNow
}); });
} while (episodeNumber < ep.IndexNumberEnd.Value);
} }
} }
} }

View file

@ -146,10 +146,15 @@ namespace Ombi.Schedule.Jobs.Jellyfin
if (ep.IndexNumberEnd.HasValue && ep.IndexNumberEnd.Value != ep.IndexNumber) if (ep.IndexNumberEnd.HasValue && ep.IndexNumberEnd.Value != ep.IndexNumber)
{ {
int episodeNumber = ep.IndexNumber;
do
{
_logger.LogDebug($"Multiple-episode file detected. Adding episode ${episodeNumber}");
episodeNumber++;
epToAdd.Add(new JellyfinEpisode epToAdd.Add(new JellyfinEpisode
{ {
JellyfinId = ep.Id, JellyfinId = ep.Id,
EpisodeNumber = ep.IndexNumberEnd.Value, EpisodeNumber = episodeNumber,
SeasonNumber = ep.ParentIndexNumber, SeasonNumber = ep.ParentIndexNumber,
ParentId = ep.SeriesId, ParentId = ep.SeriesId,
TvDbId = ep.ProviderIds.Tvdb, TvDbId = ep.ProviderIds.Tvdb,
@ -158,6 +163,8 @@ namespace Ombi.Schedule.Jobs.Jellyfin
Title = ep.Name, Title = ep.Name,
AddedAt = DateTime.UtcNow AddedAt = DateTime.UtcNow
}); });
} while (episodeNumber < ep.IndexNumberEnd.Value);
} }
} }
} }