mkerge conflict resolve

https://github.com/EpicMorg/atlassian-downloader/pull/17
This commit is contained in:
stam 2021-01-20 00:45:15 +03:00
parent 0b95530eed
commit 0c9ce49dbe

View File

@ -148,7 +148,7 @@ namespace EpicMorg.Atlassian.Downloader
Console.Out.WriteLine(json);
break;
case DownloadAction.Download:
await this.DownloadFilesFromFreed(feedUrl, versions, cancellationToken).ConfigureAwait(false);
await this.DownloadFilesFromFeed(feedUrl, versions, cancellationToken).ConfigureAwait(false);
break;
case DownloadAction.ListURLs:
foreach (var versionProg in versions)
@ -180,12 +180,14 @@ namespace EpicMorg.Atlassian.Downloader
{
var atlassianJson = await client.GetStringAsync(feedUrl, cancellationToken).ConfigureAwait(false);
var json = atlassianJson.Trim()["downloads(".Length..^1];
logger.LogTrace("Downloaded json: {0}", json);
var parsed = JsonSerializer.Deserialize<ResponseItem[]>(json, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});
logger.LogDebug("Found {0} releases", parsed.Length);
var versions = parsed.GroupBy(a => a.Version).ToDictionary(a => a.Key, a => a.ToArray());
logger.LogDebug("Found {0} releases", versions.Count);
return (json, versions);
}
@ -234,7 +236,7 @@ namespace EpicMorg.Atlassian.Downloader
Console.Title = $@"{assemblyName} {assemblyVersion} {assemblyEnvironment} - {assemblyBuildType}";
}
private async Task DownloadFilesFromFreed(string feedUrl, IDictionary<string, ResponseItem[]> versions, CancellationToken cancellationToken)
private async Task DownloadFilesFromFeed(string feedUrl, IDictionary<string, ResponseItem[]> versions, CancellationToken cancellationToken)
{
var feedDir = Path.Combine(options.OutputDir, feedUrl[(feedUrl.LastIndexOf('/') + 1)..(feedUrl.LastIndexOf('.'))]);
@ -257,7 +259,11 @@ namespace EpicMorg.Atlassian.Downloader
{
return;
}
if (file.ZipUrl == null) { continue; }
if (file.ZipUrl == null)
{
logger.LogWarning($"Empty ZipUrl found for version '{version.Key}' in {feedUrl}");
continue;
}
var serverPath = file.ZipUrl.PathAndQuery;
var outputFile = Path.Combine(directory, serverPath[(serverPath.LastIndexOf("/") + 1)..]);
if (!File.Exists(outputFile))