pad.libre-service.eu-etherpad/src/node/utils/padDiff.js

74 lines
1.5 KiB
JavaScript
Raw Normal View History

exports.createDiff = function(padID, startRev, endRev, callback){
2013-01-22 23:48:05 +01:00
console.warn("WTF");
//check if rev is a number
if(startRev !== undefined && typeof startRev != "number")
{
//try to parse the number
if(!isNaN(parseInt(startRev)))
{
startRev = parseInt(startRev, 10);
}
else
{
callback({stop: "startRev is not a number"});
return;
}
}
//check if rev is a number
if(endRev !== undefined && typeof endRev != "number")
{
//try to parse the number
if(!isNaN(parseInt(endRev)))
{
endRev = parseInt(endRev, 10);
}
else
{
callback({stop: "endRev is not a number"});
return;
}
}
//get the pad
getPadSafe(padID, true, function(err, pad)
{
if(err){
return callback(err);
}
try {
var padDiff = new PadDiff(pad, startRev, endRev);
} catch(e) {
return callback({stop:e.message});
}
var html, authors;
async.series([
function(callback){
padDiff.getHtml(function(err, _html){
if(err){
return callback(err);
}
html = _html;
callback();
});
},
function(callback){
padDiff.getAuthors(function(err, _authors){
if(err){
return callback(err);
}
authors = _authors;
callback();
});
}
], function(err){
callback(err, {html: html, authors: authors})
});
});
}