Cscott has uploaded a new change for review.
https://gerrit.wikimedia.org/r/97013
Change subject: Fix key in revisions.db to be unique in a multiple wiki
collection.
......................................................................
Fix key in revisions.db to be unique in a multiple wiki collection.
Change-Id: I6e173f8eaf48dc1ee9dfabc1132d84163a3876da
---
M lib/index.js
M lib/revisions.js
2 files changed, 10 insertions(+), 6 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection/OfflineContentGenerator/bundler
refs/changes/13/97013/1
diff --git a/lib/index.js b/lib/index.js
index 9728047..56f3a30 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -166,9 +166,12 @@
iwiki = repo.wiki;
}
});
+ // normalize namespace (localized namespaces don't work
on commons)
+ var canontitle = img.short.replace(/^[^:]+:/, 'File:');
titles.push({
wiki: iwiki,
- title: img.short
+ title: img.short,
+ canontitle: canontitle
// images are always the 'latest' revision
});
});
diff --git a/lib/revisions.js b/lib/revisions.js
index a921dea..cab04f9 100644
--- a/lib/revisions.js
+++ b/lib/revisions.js
@@ -40,9 +40,10 @@
var writeOne = function(data, outstream, db) {
// write db record
- var revid = (data.revisions || [])[0].revid;
- if (!revid) { throw new Error("revision not found"); }
- var p = db.put(revid, data);
+ // the key is a bit hacky, but revision id is not unique across
+ // multiple wikis and neither is title alone.
+ var key = data.wiki + '|' + data.title;
+ var p = db.put(key, data);
if (!outstream) {
return p;
}
@@ -76,8 +77,8 @@
var p = when.resolve();
titles.forEach(function(t) {
p = p.then(function() {
- log('Fetching revision info for', JSON.stringify(t));
- return fetchOne(wikis, t.wiki, t.title, t.revid);
+ log('Fetching revision info for', t.title);
+ return fetchOne(wikis, t.wiki, t.canontitle || t.title,
t.revid);
}).then(function(data) {
return data===null ? null : writeOne(data, revStream,
revDb);
});
--
To view, visit https://gerrit.wikimedia.org/r/97013
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6e173f8eaf48dc1ee9dfabc1132d84163a3876da
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