From 773c8cfd714e19a200732c31b6a8acb4cdff2434 Mon Sep 17 00:00:00 2001 From: Amadeo Pellicce Date: Thu, 18 Aug 2022 15:54:03 +0200 Subject: [PATCH] better promisifying the download images calls --- src/model/Logos.ts | 49 ++++++++++--------- .../rules/network/NetworkImagesRules.ts | 2 +- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/model/Logos.ts b/src/model/Logos.ts index 6ee86b6..a866f01 100644 --- a/src/model/Logos.ts +++ b/src/model/Logos.ts @@ -31,33 +31,36 @@ export class Logos { } async downloadAndPersistLogos(directory: string): Promise { - if(!this.png && !this.svg) { - return Promise.resolve(); - } - - if(this.png) { - try { - if(!fs.existsSync(path.join(directory, "logo.png"))) { - await downloadFile(this.png, directory, 'logo.png'); + return new Promise(async (resolve) => { + if(!this.png && !this.svg) { + return resolve(); + } + + if(this.png) { + try { + if(!fs.existsSync(path.join(directory, "logo.png"))) { + await downloadFile(this.png, directory, 'logo.png'); + } + this.png = getGithubHostedFileUrl(directory, 'logo.png'); + } catch (err) { + console.error(`Error downloading png. Skipping: ${err}`) } - this.png = getGithubHostedFileUrl(directory, 'logo.png'); - } catch (err) { - console.error(`Error downloading png. Skipping: ${err}`) } - } - - if(this.svg) { - try { - if(!fs.existsSync(path.join(directory, "logo.svg"))) { - await downloadFile(this.svg, directory, 'logo.svg'); + + if(this.svg) { + try { + if(!fs.existsSync(path.join(directory, "logo.svg"))) { + await downloadFile(this.svg, directory, 'logo.svg'); + } + this.svg = getGithubHostedFileUrl(directory, 'logo.svg'); + } catch (err) { + console.error(`Error downloading svg. Skipping: ${err}`) } - this.svg = getGithubHostedFileUrl(directory, 'logo.svg'); - } catch (err) { - console.error(`Error downloading svg. Skipping: ${err}`) } - } - - return Promise.resolve(); + + return resolve(); + }); + } static getLogosFromUri(logoURI?: string): Logos { diff --git a/src/validate/rules/network/NetworkImagesRules.ts b/src/validate/rules/network/NetworkImagesRules.ts index 77607b8..745d695 100644 --- a/src/validate/rules/network/NetworkImagesRules.ts +++ b/src/validate/rules/network/NetworkImagesRules.ts @@ -8,7 +8,7 @@ export const NetworkImagesRules: ValidationRule[] = [ name: `${baseName}:ShouldHaveImagesRule`, network: 'all', validate: async (network: string, repoPath: string): Promise => { - // TODO: implement + // TODO: implement if it either has a png and/or svg in the info file but we can't find the images return { valid: true, errors: []