From bce13ee94deb2a4914784bb4268dc1d7bc0f11ed Mon Sep 17 00:00:00 2001 From: Minteck Date: Wed, 1 Dec 2021 22:17:16 +0100 Subject: Preparing i18n --- server/gitea.js | 228 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 114 insertions(+), 114 deletions(-) (limited to 'server/gitea.js') diff --git a/server/gitea.js b/server/gitea.js index 58493d5..6b52b72 100644 --- a/server/gitea.js +++ b/server/gitea.js @@ -1,115 +1,115 @@ -global.log = require('./log') -global.serverRoot = __dirname + "/.."; -global.fs = require('fs') -log.info("Reading configuration...") -global.config = require('../global/config.json') -global.mpws = require('./version'); - -log.verbose("Initializing Gitea projects refresh...") - -function get(url) { - return { - stdout: require('child_process').execSync("curl -s -A \"Sattelite/" + mpws.version + "\" -X GET \"https://source.minteck.org/" + url + "\" -H \"accept: application/json\" -H \"authorization: Basic " + fs.readFileSync(serverRoot + "/auth.txt").toString().trim() + "\"") - }; -} - -function giteaRefresh() { - giteaDataTmp = []; - repos = []; - - log.info("Refreshing Gitea cache...") - - orgs_raw = JSON.parse(get("/api/v1/orgs").stdout.toString()); - - let orgs = []; - for (let org of orgs_raw) { - orgs.push(org.username); - } - - log.verbose("Found " + orgs.length + " orgs"); - - let orgs_mtk = []; - for (let org of orgs) { - log.verbose("Gathering members of '" + org + "'..."); - members_raw = JSON.parse(get("/api/v1/orgs/" + org + "/members").stdout.toString()); - - let members = []; - for (let member of members_raw) { - members.push(member.login); - } - - log.verbose("Has " + members.length + " members"); - - if (members.includes("minteck")) { - log.verbose("Includes Minteck, adding to list"); - orgs_mtk.push(org); - } else { - log.verbose("Doesn't include Minteck, not adding to list"); - } - } - - log.verbose("Minteck part of " + orgs_mtk.length + "/" + orgs.length + " orgs, exclusing themself"); - - log.verbose("Gathering personal projects"); - personal_raw = JSON.parse(get("/api/v1/users/minteck/repos").stdout.toString()); - - for (let repo of personal_raw) { - repos.push(repo.full_name); - } - - for (let org of orgs_mtk) { - log.verbose("Gathering projects from '" + org + "'"); - - org_projects_raw = JSON.parse(get("/api/v1/users/" + org + "/repos").stdout.toString()); - - for (let repo of org_projects_raw) { - repos.push(repo.full_name); - } - } - - log.verbose("Found " + repos.length + " projects: " + repos.join(", ")); - - for (let repo of repos) { - thisRepo = {}; - - log.verbose("Gathering info about " + repo); - repo_data = JSON.parse(get('/api/v1/repos/' + repo).stdout.toString()); - - if (!repo_data.empty && !repo_data.private && !repo_data.internal && !repo_data.archived && repo_data.full_name !== "minteck/minteck") { - thisRepo.name = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; - thisRepo.id = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; - thisRepo.icon = repo_data.avatar_url.trim() !== "" ? repo_data.avatar_url : null; - thisRepo.description = repo_data.description.trim() !== "" ? repo_data.description : null; - thisRepo.size = repo_data.size; - thisRepo.website = repo_data.website.trim() !== "" ? repo_data.website : null; - thisRepo.update = new Date(repo_data.updated_at) - 1 + 1; - - sattelite_data = JSON.parse(get("/api/v1/repos/" + repo + "/contents/SatteliteGiteaData.txt").stdout.toString()); - - if (!sattelite_data.documentation_url) { - thisRepo.name = Buffer.from(sattelite_data.content, "base64").toString(); - } - - giteaDataTmp.push(thisRepo); - } - } - - fs.writeFileSync("../global/gitea.json", JSON.stringify(giteaDataTmp, null, 4)); - log.info("Gitea cache successfully refreshed"); -} - -setInterval(() => { - try { - giteaRefresh() - } catch (e) { - log.error("Gitea projects refresh failed: " + e.message) - } -}, 3600000) - -setTimeout(() => { - try { - giteaRefresh() - } catch (e) { - log.error("Gitea projects refresh failed: " + e.message) - } +global.log = require('./log') +global.serverRoot = __dirname + "/.."; +global.fs = require('fs') +log.info("Reading configuration...") +global.config = require('../global/config.json') +global.mpws = require('./version'); + +log.verbose("Initializing Gitea projects refresh...") + +function get(url) { + return { + stdout: require('child_process').execSync("curl -s -A \"Sattelite/" + mpws.version + "\" -X GET \"https://source.minteck.org/" + url + "\" -H \"accept: application/json\" -H \"authorization: Basic " + fs.readFileSync(serverRoot + "/auth.txt").toString().trim() + "\"") + }; +} + +function giteaRefresh() { + giteaDataTmp = []; + repos = []; + + log.info("Refreshing Gitea cache...") + + orgs_raw = JSON.parse(get("/api/v1/orgs").stdout.toString()); + + let orgs = []; + for (let org of orgs_raw) { + orgs.push(org.username); + } + + log.verbose("Found " + orgs.length + " orgs"); + + let orgs_mtk = []; + for (let org of orgs) { + log.verbose("Gathering members of '" + org + "'..."); + members_raw = JSON.parse(get("/api/v1/orgs/" + org + "/members").stdout.toString()); + + let members = []; + for (let member of members_raw) { + members.push(member.login); + } + + log.verbose("Has " + members.length + " members"); + + if (members.includes("minteck")) { + log.verbose("Includes Minteck, adding to list"); + orgs_mtk.push(org); + } else { + log.verbose("Doesn't include Minteck, not adding to list"); + } + } + + log.verbose("Minteck part of " + orgs_mtk.length + "/" + orgs.length + " orgs, exclusing themself"); + + log.verbose("Gathering personal projects"); + personal_raw = JSON.parse(get("/api/v1/users/minteck/repos").stdout.toString()); + + for (let repo of personal_raw) { + repos.push(repo.full_name); + } + + for (let org of orgs_mtk) { + log.verbose("Gathering projects from '" + org + "'"); + + org_projects_raw = JSON.parse(get("/api/v1/users/" + org + "/repos").stdout.toString()); + + for (let repo of org_projects_raw) { + repos.push(repo.full_name); + } + } + + log.verbose("Found " + repos.length + " projects: " + repos.join(", ")); + + for (let repo of repos) { + thisRepo = {}; + + log.verbose("Gathering info about " + repo); + repo_data = JSON.parse(get('/api/v1/repos/' + repo).stdout.toString()); + + if (!repo_data.empty && !repo_data.private && !repo_data.internal && !repo_data.archived && repo_data.full_name !== "minteck/minteck") { + thisRepo.name = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; + thisRepo.id = repo_data.full_name.trim() !== "" ? repo_data.full_name : null; + thisRepo.icon = repo_data.avatar_url.trim() !== "" ? repo_data.avatar_url : null; + thisRepo.description = repo_data.description.trim() !== "" ? repo_data.description : null; + thisRepo.size = repo_data.size; + thisRepo.website = repo_data.website.trim() !== "" ? repo_data.website : null; + thisRepo.update = new Date(repo_data.updated_at) - 1 + 1; + + sattelite_data = JSON.parse(get("/api/v1/repos/" + repo + "/contents/SatteliteGiteaData.txt").stdout.toString()); + + if (!sattelite_data.documentation_url) { + thisRepo.name = Buffer.from(sattelite_data.content, "base64").toString(); + } + + giteaDataTmp.push(thisRepo); + } + } + + fs.writeFileSync("../global/gitea.json", JSON.stringify(giteaDataTmp, null, 4)); + log.info("Gitea cache successfully refreshed"); +} + +setInterval(() => { + try { + giteaRefresh() + } catch (e) { + log.error("Gitea projects refresh failed: " + e.message) + } +}, 3600000) + +setTimeout(() => { + try { + giteaRefresh() + } catch (e) { + log.error("Gitea projects refresh failed: " + e.message) + } }, 1000) \ No newline at end of file -- cgit