Cscott has uploaded a new change for review. https://gerrit.wikimedia.org/r/97012
Change subject: Write siteinfo.db to record siteinfo in a multiple wiki collection. ...................................................................... Write siteinfo.db to record siteinfo in a multiple wiki collection. Change-Id: I30feaf399c29e204a7790544ac8bfe2736c9de78 --- M lib/siteinfo.js 1 file changed, 15 insertions(+), 6 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator/bundler refs/changes/12/97012/1 diff --git a/lib/siteinfo.js b/lib/siteinfo.js index 106bcff..eef9d45 100644 --- a/lib/siteinfo.js +++ b/lib/siteinfo.js @@ -1,8 +1,10 @@ // Generate content of siteinfo.json var fs = require('fs'); var path = require('path'); +var when = require('when'); var Api = require('./api'); +var Db = require('./db'); var P = require('./p'); var fetchSiteInfo = function(wikis, wiki) { @@ -38,12 +40,19 @@ return this[cacheName]; }, fetchAndWrite: function(wikis, outdir) { - // XXX we'd need more than one output file to do interwiki books - var wiki = 0; - return this.fetch(wikis, wiki).then(function(siteinfo) { - return writeSiteInfo(outdir, wiki, siteinfo).then(function() { - return siteinfo; + var db = new Db(path.join(outdir, 'siteinfo.db')); + return when.all(wikis.map(function(_, wiki) { + return this.fetch(wikis, wiki).then(function(siteinfo) { + // only write siteinfo.json for wiki 0 (backward compat) + var p = (wiki===0) ? writeSiteInfo(outdir, wiki, siteinfo) : + when.resolve(); + return p.then(function() { + // write siteinfo.db, keyed on the baseURL for the wiki + return db.put(wikis[wiki].baseurl, siteinfo); + }).then(function() { + return siteinfo; + }); }); - }); + }.bind(this))); } }; -- To view, visit https://gerrit.wikimedia.org/r/97012 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I30feaf399c29e204a7790544ac8bfe2736c9de78 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator/bundler Gerrit-Branch: master Gerrit-Owner: Cscott <canan...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits