diff --git a/nanoFirmwareFlasher/FirmwarePackage.cs b/nanoFirmwareFlasher/FirmwarePackage.cs index 35d0a91f..9dced456 100644 --- a/nanoFirmwareFlasher/FirmwarePackage.cs +++ b/nanoFirmwareFlasher/FirmwarePackage.cs @@ -144,17 +144,7 @@ protected async System.Threading.Tasks.Task DownloadAndExtractAsync() .ToList(); } - if (fwFiles.Any()) - { - // get file creation date (from the 1st one) - if ((DateTime.UtcNow - File.GetLastWriteTimeUtc(fwFiles.First().FullName)).TotalHours < 4) - { - // fw package has less than 4 hours - // skip download - skipDownload = true; - } - } - + if (!skipDownload) { // try to perform request @@ -321,8 +311,20 @@ protected async System.Threading.Tasks.Task DownloadAndExtractAsync() if (fwFiles.Any()) { - // take the 1st one - fwFileName = fwFiles.First().FullName; + if (string.IsNullOrEmpty(_fwVersion)) + {// take the 1st one + fwFileName = fwFiles.First().FullName; + } + else + { + string targetFileName = $"{_targetName}-{_fwVersion}.zip"; + fwFileName = fwFiles.Where(w => w.Name == targetFileName).Select(s => s.FullName).FirstOrDefault(); + } + + if (string.IsNullOrEmpty(fwFileName)) + { + return ExitCodes.E9007; + } // get the version form the file name var pattern = @"(\d+\.\d+\.\d+)(\.\d+|-.+)(?=\.zip)";