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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits