Skip to content

Commit 49d50a6

Browse files
authored
Fix fwversion parameter not pulling the correct file (#51)
1 parent 8ebe00d commit 49d50a6

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

nanoFirmwareFlasher/FirmwarePackage.cs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ protected async System.Threading.Tasks.Task<ExitCodes> DownloadAndExtractAsync()
7777

7878
// reference targets
7979
var repoName = _stable ? _refTargetsStableRepo : _refTargetsDevRepo;
80-
string requestUri = $"{_cloudsmithPackages}/{repoName}/?page=1&query={_targetName} latest";
80+
// get the firmware version if it is defined
81+
var fwVersion = string.IsNullOrEmpty(_fwVersion) ? "latest" : _fwVersion;
82+
string requestUri = $"{_cloudsmithPackages}/{repoName}/?page=1&query={_targetName} {fwVersion}";
8183

8284
string downloadUrl = string.Empty;
8385

@@ -157,7 +159,8 @@ protected async System.Threading.Tasks.Task<ExitCodes> DownloadAndExtractAsync()
157159
}
158160

159161
// try with community targets
160-
requestUri = $"{_cloudsmithPackages}/{_communityTargetsepo}/?page=1&query={_targetName} latest";
162+
163+
requestUri = $"{_cloudsmithPackages}/{_communityTargetsepo}/?page=1&query={_targetName} {fwVersion}";
161164
repoName = _communityTargetsepo;
162165

163166
response = await _cloudsmithClient.GetAsync(requestUri);
@@ -186,10 +189,24 @@ protected async System.Threading.Tasks.Task<ExitCodes> DownloadAndExtractAsync()
186189
if (string.IsNullOrEmpty(_fwVersion))
187190
{
188191
_fwVersion = packageInfo.ElementAt(0).Version;
192+
// grab download URL
193+
downloadUrl = packageInfo.ElementAt(0).DownloadUrl;
194+
}
195+
else
196+
{
197+
//get the download Url from the Cloudsmith Package info
198+
// addition check if the cloudsmith json return empty json
199+
if(packageInfo is null || packageInfo.Count == 0)
200+
{
201+
return ExitCodes.E9005;
202+
}
203+
else
204+
{
205+
downloadUrl = packageInfo.Where(w => w.Version == _fwVersion).Select(s => s.DownloadUrl).FirstOrDefault();
206+
}
189207
}
190208

191-
// grab download URL
192-
downloadUrl = packageInfo.ElementAt(0).DownloadUrl;
209+
193210

194211
// set exposed property
195212
Version = _fwVersion;

0 commit comments

Comments
 (0)