[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: Add multi-lang.js script

2017-09-28 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/378369 )

Change subject: Add multi-lang.js script
..


Add multi-lang.js script

This script allows you to execute another given executable over a list
of languages.

Example:
./multi-lang.js ./compare-extracts.js bg de en es fr

Change-Id: I05af5477ebbcd6a4f49edf75349fff3857168ef7
---
A scripts/multi-lang.js
1 file changed, 42 insertions(+), 0 deletions(-)

Approvals:
  jenkins-bot: Verified
  Mholloway: Looks good to me, approved



diff --git a/scripts/multi-lang.js b/scripts/multi-lang.js
new file mode 100755
index 000..aa2ae7a
--- /dev/null
+++ b/scripts/multi-lang.js
@@ -0,0 +1,42 @@
+#!/usr/bin/env node
+
+'use strict';
+
+const BBPromise = require('bluebird');
+const execSync = BBPromise.promisify(require('child_process').execSync);
+const underscore = require('underscore');
+
+const wikipediaLanguagesRawList = require('../private/languages_list.json');
+const prepareWikipediaLanguageCodes = () => {
+delete wikipediaLanguagesRawList['Simplified Chinese']; // skip lang 
variants
+delete wikipediaLanguagesRawList['Traditional Chinese'];
+return underscore.values(wikipediaLanguagesRawList);
+};
+const wikipediaLanguages = prepareWikipediaLanguageCodes();
+
+function isWikipediaLanguage(lang) {
+return wikipediaLanguages.includes(lang);
+}
+
+function processOneLanguage(script, lang) {
+const cmd = `${script} ${lang}`;
+return execSync(cmd, { stdio: [ 0, 1, 2 ] })
+.then((rsp) => {
+return BBPromise.resolve();
+}).catch((err) => {
+process.stderr.write(`ERROR processing language ${lang}: ${err}`);
+return BBPromise.resolve();
+});
+}
+
+// MAIN
+const [,, script, ...languages] = process.argv; // skip over first two items
+
+BBPromise.each(languages, (lang) => {
+if (isWikipediaLanguage(lang)) {
+process.stdout.write(`${lang}\n`);
+processOneLanguage(script, lang);
+} else {
+process.stderr.write(`ERROR: ${lang} not a Wikipedia project code\n`);
+}
+});

-- 
To view, visit https://gerrit.wikimedia.org/r/378369
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I05af5477ebbcd6a4f49edf75349fff3857168ef7
Gerrit-PatchSet: 9
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND 
Gerrit-Reviewer: BearND 
Gerrit-Reviewer: Dbrant 
Gerrit-Reviewer: Fjalapeno 
Gerrit-Reviewer: GWicke 
Gerrit-Reviewer: Gergő Tisza 
Gerrit-Reviewer: Jdlrobson 
Gerrit-Reviewer: Mholloway 
Gerrit-Reviewer: Mhurd 
Gerrit-Reviewer: Mobrovac 
Gerrit-Reviewer: Ppchelko 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: Add multi-lang.js script

2017-09-15 Thread BearND (Code Review)
BearND has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/378369 )

Change subject: Add multi-lang.js script
..

Add multi-lang.js script

This script allows you to execute another given executable over a list
of languages.

Example:
./multi-lang.js ./compare-extracts.js bg de en es fr

Change-Id: I05af5477ebbcd6a4f49edf75349fff3857168ef7
---
A scripts/multi-lang.js
1 file changed, 43 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps 
refs/changes/69/378369/1

diff --git a/scripts/multi-lang.js b/scripts/multi-lang.js
new file mode 100755
index 000..75b19fc
--- /dev/null
+++ b/scripts/multi-lang.js
@@ -0,0 +1,43 @@
+#!/usr/bin/env node
+
+'use strict';
+
+const BBPromise = require('bluebird');
+const exec = BBPromise.promisify(require('child_process').exec);
+const underscore = require('underscore');
+
+const wikipediaLanguagesRawList = require('../private/languages_list.json');
+const prepareWikipediaLanguageCodes = () => {
+delete wikipediaLanguagesRawList['Simplified Chinese']; // skip lang 
variants
+delete wikipediaLanguagesRawList['Traditional Chinese'];
+return underscore.values(wikipediaLanguagesRawList).sort();
+};
+const wikipediaLanguages = prepareWikipediaLanguageCodes();
+
+function isWikipediaLanguage(lang) {
+return wikipediaLanguages.includes(lang);
+}
+
+function processOneLanguage(script, lang) {
+const cmd = `${script} ${lang}`;
+return exec(cmd)
+.then((rsp) => {
+process.stdout.write(`\n${lang}: ${rsp}\n`);
+return BBPromise.resolve();
+}).catch((err) => {
+process.stderr.write(`ERROR processing language ${lang}: ${err}`);
+return BBPromise.resolve();
+});
+}
+
+// MAIN
+const [,, script, ...languages] = process.argv; // skip over first two items
+
+BBPromise.each(languages, (lang) => {
+if (isWikipediaLanguage(lang)) {
+process.stdout.write(`${lang}\n`);
+processOneLanguage(script, lang);
+} else {
+process.stderr.write(`ERROR: ${lang} not a Wikipedia project code\n`);
+}
+});

-- 
To view, visit https://gerrit.wikimedia.org/r/378369
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I05af5477ebbcd6a4f49edf75349fff3857168ef7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits