2016-09-08 23:05:27 +00:00
|
|
|
using System;
|
|
|
|
using System.IO;
|
|
|
|
using NLog;
|
|
|
|
|
|
|
|
namespace NzbDrone.Update.UpdateEngine
|
|
|
|
{
|
|
|
|
public interface IDetectExistingVersion
|
|
|
|
{
|
|
|
|
string GetExistingVersion(string targetFolder);
|
|
|
|
}
|
|
|
|
|
|
|
|
public class DetectExistingVersion : IDetectExistingVersion
|
|
|
|
{
|
|
|
|
private readonly Logger _logger;
|
|
|
|
|
|
|
|
public DetectExistingVersion(Logger logger)
|
|
|
|
{
|
|
|
|
_logger = logger;
|
|
|
|
}
|
|
|
|
|
|
|
|
public string GetExistingVersion(string targetFolder)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
2017-01-05 19:42:02 +00:00
|
|
|
var targetExecutable = Path.Combine(targetFolder, "Radarr.exe");
|
2016-09-08 23:05:27 +00:00
|
|
|
|
|
|
|
if (File.Exists(targetExecutable))
|
|
|
|
{
|
|
|
|
var versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(targetExecutable);
|
|
|
|
|
|
|
|
return versionInfo.FileVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
_logger.Warn(ex, "Failed to get existing version from {0}", targetFolder);
|
|
|
|
}
|
|
|
|
|
|
|
|
return "(unknown)";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|