|
|
@ -98,7 +98,7 @@ function walkDir(parent, sub, opts) { |
|
|
|
|
|
|
|
// TODO stream sha1 (for assets)
|
|
|
|
return fs |
|
|
|
.readFileAsync(path.join(root, stat.name), null) |
|
|
|
.readFile(path.join(root, stat.name), null) |
|
|
|
.then(function (buffer) { |
|
|
|
var contents = buffer.toString("utf8"); |
|
|
|
file.sha1 = sha1sum(contents); |
|
|
@ -144,7 +144,7 @@ function getfs(blogdir, filepaths) { |
|
|
|
return forEachAsync(filepaths, function (filepath) { |
|
|
|
var pathname = safeResolve(blogdir, filepath); |
|
|
|
return fs |
|
|
|
.lstatAsync(pathname) |
|
|
|
.lstat(pathname) |
|
|
|
.then(function (stat) { |
|
|
|
return fs.readFile(pathname, null).then(function (buffer) { |
|
|
|
files.push({ |
|
|
@ -304,13 +304,9 @@ function putfs(blogdir, files, options) { |
|
|
|
return forEachAsync(files, function (file) { |
|
|
|
// TODO use lastModifiedDate as per client request?
|
|
|
|
// TODO compare sha1 sums for integrity
|
|
|
|
// NOTE existsAsync is backwards
|
|
|
|
return fs |
|
|
|
.existsAsync(file.realPath) |
|
|
|
.access(file.realPath) |
|
|
|
.then(function () { |
|
|
|
return fs.writeFile(file.realPath, file.contents, "utf8"); |
|
|
|
}) |
|
|
|
.catch(function (/*exists*/) { |
|
|
|
if (file.delete || !file.contents) { |
|
|
|
return fs.unlink(file.realPath); |
|
|
|
} |
|
|
@ -321,6 +317,9 @@ function putfs(blogdir, files, options) { |
|
|
|
|
|
|
|
return fs.writeFile(file.realPath, file.contents, "utf8"); |
|
|
|
}) |
|
|
|
.catch(function () { |
|
|
|
return fs.writeFile(file.realPath, file.contents, "utf8"); |
|
|
|
}) |
|
|
|
.catch(function (e) { |
|
|
|
putfsResults.errors.push({ |
|
|
|
type: "file", |
|
|
|