From 6f5e4a00588aefdda7a5a1cfe70935870e7e234a Mon Sep 17 00:00:00 2001 From: Bennett Date: Tue, 22 Sep 2020 20:56:48 +0200 Subject: Unpack recipes and update recipes icons (#292) Co-authored-by: Amine Mouafik --- scripts/gh_load.js | 85 ------------------------------------------------------ 1 file changed, 85 deletions(-) delete mode 100644 scripts/gh_load.js (limited to 'scripts/gh_load.js') diff --git a/scripts/gh_load.js b/scripts/gh_load.js deleted file mode 100644 index e72cf23..0000000 --- a/scripts/gh_load.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Add GitHub repository as recipe - */ -const fetch = require('node-fetch'); -const targz = require('targz'); -const fs = require('fs-extra'); -const path = require('path'); -const GitUrlParse = require("git-url-parse"); - -// Helper: Download file to filesystem -const downloadFile = (async (url, path) => { - const res = await fetch(url); - const fileStream = fs.createWriteStream(path); - await new Promise((resolve, reject) => { - res.body.pipe(fileStream); - res.body.on("error", (err) => { - reject(err); - }); - fileStream.on("finish", function () { - resolve(); - }); - }); -}); - -// Helper: Decompress .tar.gz file -const decompress = (src, dest) => { - return new Promise(resolve => { - targz.decompress({ - src, - dest - }, function (err) { - if (err) { - console.log('Error while decompressing recipe:', err); - } - resolve(); - }); - }) -} - -const repo = process.argv[2]; - -if (!repo || !/https:\/\/github\.com\/[^\/]+\/[^\/]+\/?/gi.test(repo)) { - console.log("Please provide a valid repository URL"); - return; -} - -const repoInfo = GitUrlParse(repo); -const tempDir = path.join(__dirname, 'tmp'); - -const recipeSrc = path.join(__dirname, 'recipe_src'); -const recipeSrcTmp = path.join(__dirname, 'recipe_src_tmp'); - -const compressed = path.join(__dirname, 'tmp.tar.gz'); - -// Let us work in an async environment -(async () => { - console.log("Creating temporary directory"); - - await fs.ensureDir(tempDir); - await fs.ensureDir(recipeSrc); - await fs.ensureDir(recipeSrcTmp); - - console.log("Downloading " + repo); - - await downloadFile( - `https://github.com/${repoInfo.owner}/${repoInfo.name}/archive/master.tar.gz`, - compressed - ); - - console.log("Decompressing tarball"); - - await decompress(compressed, tempDir); - - console.log("Moving directories"); - - await fs.move(recipeSrc, recipeSrcTmp, {overwrite: true}); - await fs.move( - path.join(tempDir, `${repoInfo.name}-master`), - recipeSrc, - {overwrite: true} - ); - - await fs.remove(compressed); - await fs.remove(recipeSrcTmp); -})(); \ No newline at end of file -- cgit v1.2.3-70-g09d2