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

Reply via email to