mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 05:53:33 -07:00
Fixed corrupt Update History due to date-time notation
This commit is contained in:
parent
24e0336f06
commit
d370fd1b02
1 changed files with 43 additions and 14 deletions
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using NLog;
|
||||||
using NzbDrone.Common.EnvironmentInfo;
|
using NzbDrone.Common.EnvironmentInfo;
|
||||||
using NzbDrone.Core.Lifecycle;
|
using NzbDrone.Core.Lifecycle;
|
||||||
using NzbDrone.Core.Messaging.Events;
|
using NzbDrone.Core.Messaging.Events;
|
||||||
|
@ -17,25 +18,43 @@ namespace NzbDrone.Core.Update.History
|
||||||
{
|
{
|
||||||
private readonly IUpdateHistoryRepository _repository;
|
private readonly IUpdateHistoryRepository _repository;
|
||||||
private readonly IEventAggregator _eventAggregator;
|
private readonly IEventAggregator _eventAggregator;
|
||||||
|
private readonly Logger _logger;
|
||||||
private Version _prevVersion;
|
private Version _prevVersion;
|
||||||
|
|
||||||
public UpdateHistoryService(IUpdateHistoryRepository repository, IEventAggregator eventAggregator)
|
public UpdateHistoryService(IUpdateHistoryRepository repository, IEventAggregator eventAggregator, Logger logger)
|
||||||
{
|
{
|
||||||
_repository = repository;
|
_repository = repository;
|
||||||
_eventAggregator = eventAggregator;
|
_eventAggregator = eventAggregator;
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version PreviouslyInstalled()
|
public Version PreviouslyInstalled()
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var history = _repository.PreviouslyInstalled();
|
var history = _repository.PreviouslyInstalled();
|
||||||
|
|
||||||
return history?.Version;
|
return history?.Version;
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.Warn(ex, "Failed to determine previously installed version");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<UpdateHistory> InstalledSince(DateTime dateTime)
|
public List<UpdateHistory> InstalledSince(DateTime dateTime)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
return _repository.InstalledSince(dateTime);
|
return _repository.InstalledSince(dateTime);
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.Warn(ex, "Failed to get list of previously installed versions");
|
||||||
|
return new List<UpdateHistory>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Handle(ApplicationStartedEvent message)
|
public void Handle(ApplicationStartedEvent message)
|
||||||
{
|
{
|
||||||
|
@ -45,11 +64,21 @@ namespace NzbDrone.Core.Update.History
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var history = _repository.LastInstalled();
|
UpdateHistory history;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
history = _repository.LastInstalled();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.Warn(ex, "Cleaning corrupted update history");
|
||||||
|
_repository.Purge();
|
||||||
|
history = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (history == null || history.Version != BuildInfo.Version)
|
if (history == null || history.Version != BuildInfo.Version)
|
||||||
{
|
{
|
||||||
_prevVersion = history.Version;
|
_prevVersion = history?.Version;
|
||||||
|
|
||||||
_repository.Insert(new UpdateHistory
|
_repository.Insert(new UpdateHistory
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue