summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/node/handler/ImportHandler.js24
-rw-r--r--src/node/utils/ImportEtherpad.js1
2 files changed, 18 insertions, 7 deletions
diff --git a/src/node/handler/ImportHandler.js b/src/node/handler/ImportHandler.js
index 813a8d19..af4c01f1 100644
--- a/src/node/handler/ImportHandler.js
+++ b/src/node/handler/ImportHandler.js
@@ -121,12 +121,24 @@ exports.doImport = function(req, res, padId)
function(callback) {
var fileEnding = path.extname(srcFile).toLowerCase()
var fileIsEtherpad = (fileEnding === ".etherpad");
+
if(fileIsEtherpad){
- fs.readFile(srcFile, "utf8", function(err, _text){
- directDatabaseAccess = true;
- importEtherpad.setPadRaw(padId, _text, function(err){
- callback();
- });
+ // we do this here so we can see if the pad has quit ea few edits
+ padManager.getPad(padId, function(err, _pad){
+ console.error(_pad);
+ var headCount = _pad.head;
+ console.error(headCount);
+ if(headCount >= 10){
+ apiLogger.warn("Direct database Import attempt of a pad that already has content, we wont be doing this")
+ return callback("padHasData");
+ }else{
+ fs.readFile(srcFile, "utf8", function(err, _text){
+ directDatabaseAccess = true;
+ importEtherpad.setPadRaw(padId, _text, function(err){
+ callback();
+ });
+ });
+ }
});
}else{
callback();
@@ -264,7 +276,7 @@ exports.doImport = function(req, res, padId)
var status = "ok";
//check for known errors and replace the status
- if(err == "uploadFailed" || err == "convertFailed")
+ if(err == "uploadFailed" || err == "convertFailed" || err == "padHasData")
{
status = err;
err = null;
diff --git a/src/node/utils/ImportEtherpad.js b/src/node/utils/ImportEtherpad.js
index b18708ff..be6a8929 100644
--- a/src/node/utils/ImportEtherpad.js
+++ b/src/node/utils/ImportEtherpad.js
@@ -23,7 +23,6 @@ exports.setPadRaw = function(padId, records, callback){
async.eachSeries(Object.keys(records), function(key, cb){
var value = records[key]
-
// rewrite padId
var oldPadId = key.split(":");
oldPadId[1] = padId;