mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-28 19:38:26 +01:00
update search
This commit is contained in:
@@ -627,31 +627,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
||||
|
||||
private async Task UpdateTimersForSeriesTimer(List<ProgramInfo> epgData, SeriesTimerInfo seriesTimer)
|
||||
{
|
||||
var newTimers = GetTimersForSeries(seriesTimer, epgData, _recordingProvider.GetAll()).ToList();
|
||||
|
||||
var existingTimers = _timerProvider.GetAll()
|
||||
.Where(i => string.Equals(i.SeriesTimerId, seriesTimer.Id, StringComparison.OrdinalIgnoreCase))
|
||||
.ToList();
|
||||
|
||||
var registration = await GetRegistrationInfo("seriesrecordings").ConfigureAwait(false);
|
||||
|
||||
if (registration.IsValid)
|
||||
{
|
||||
var newTimers = GetTimersForSeries(seriesTimer, epgData, _recordingProvider.GetAll()).ToList();
|
||||
|
||||
foreach (var timer in newTimers)
|
||||
{
|
||||
_timerProvider.AddOrUpdate(timer);
|
||||
}
|
||||
}
|
||||
|
||||
var newTimerIds = newTimers.Select(i => i.Id).ToList();
|
||||
|
||||
foreach (var timer in existingTimers)
|
||||
{
|
||||
if (!newTimerIds.Contains(timer.Id, StringComparer.OrdinalIgnoreCase))
|
||||
{
|
||||
CancelTimerInternal(timer.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerable<TimerInfo> GetTimersForSeries(SeriesTimerInfo seriesTimer, IEnumerable<ProgramInfo> allPrograms, IReadOnlyList<RecordingInfo> currentRecordings)
|
||||
|
||||
@@ -304,7 +304,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
||||
IsKids = string.Equals(details.audience, "children", StringComparison.OrdinalIgnoreCase),
|
||||
IsSports = showType.IndexOf("sports", StringComparison.OrdinalIgnoreCase) != -1,
|
||||
IsMovie = showType.IndexOf("movie", StringComparison.OrdinalIgnoreCase) != -1 || showType.IndexOf("film", StringComparison.OrdinalIgnoreCase) != -1,
|
||||
ShowId = programInfo.programID
|
||||
ShowId = programInfo.programID,
|
||||
Etag = programInfo.md5
|
||||
};
|
||||
|
||||
if (programInfo.videoProperties != null)
|
||||
@@ -408,7 +409,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
||||
;
|
||||
});
|
||||
imageIdString = imageIdString.TrimEnd(',') + "]";
|
||||
_logger.Debug("Json for show images = " + imageIdString);
|
||||
|
||||
var httpOptions = new HttpRequestOptions()
|
||||
{
|
||||
Url = ApiUrl + "/metadata/programs",
|
||||
|
||||
@@ -593,7 +593,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
Name = info.Name,
|
||||
Id = id,
|
||||
DateCreated = DateTime.UtcNow,
|
||||
DateModified = DateTime.UtcNow
|
||||
DateModified = DateTime.UtcNow,
|
||||
Etag = info.Etag
|
||||
};
|
||||
}
|
||||
|
||||
@@ -639,7 +640,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
}
|
||||
else
|
||||
{
|
||||
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
if (string.IsNullOrWhiteSpace(info.Etag) || !string.Equals(info.Etag, item.Etag, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
item.Etag = info.Etag;
|
||||
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
_providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions());
|
||||
|
||||
Reference in New Issue
Block a user