updated for creating post from node
This commit is contained in:
parent
bae751916c
commit
1b7f41ae7a
|
@ -242,6 +242,14 @@
|
|||
};
|
||||
|
||||
// read config and such
|
||||
Desi._initFileAdapter = function (env) {
|
||||
if (!exports.window) {
|
||||
// TODO pull state out of this later
|
||||
Desi.realFsapi.create(Desi, env);
|
||||
}
|
||||
return PromiseA.resolve();
|
||||
};
|
||||
|
||||
Desi.init = function (desi, env) {
|
||||
console.log('');
|
||||
console.log('');
|
||||
|
|
|
@ -8,7 +8,7 @@ function create(Desi, options) {
|
|||
var fsapi = Desi.fsapi
|
||||
;
|
||||
|
||||
options.blogdir = options.working_path;
|
||||
options.blogdir = options.blogdir || options.working_path;
|
||||
|
||||
fsapi.getMeta = function (dirnames, opts) {
|
||||
opts = opts || {};
|
||||
|
@ -53,7 +53,7 @@ function create(Desi, options) {
|
|||
return fsapi.copyfs(options.blogdir, files);
|
||||
};
|
||||
|
||||
fsapi.putFiles = function (files) {
|
||||
fsapi.putFiles = function (files, opts) {
|
||||
files.forEach(function (file) {
|
||||
if (!file.contents || 'string' === typeof file.contents) {
|
||||
return;
|
||||
|
@ -62,12 +62,12 @@ function create(Desi, options) {
|
|||
file.contents = JSON.stringify(file.contents);
|
||||
}
|
||||
else if (/\.ya?ml$/i.test(file.path)) {
|
||||
file.contents = exports.jsyaml.dump(file.contents);
|
||||
file.contents = Desi.YAML.stringify(file.contents);
|
||||
}
|
||||
});
|
||||
|
||||
// TODO size
|
||||
return fsapi.putfs(options.blogdir, files);
|
||||
return fsapi.putfs(options.blogdir, files, opts);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -270,8 +270,10 @@ function copyfs(blogdir, files) {
|
|||
});
|
||||
}
|
||||
|
||||
function putfs(blogdir, files) {
|
||||
var results = { errors: [] }
|
||||
function putfs(blogdir, files, options) {
|
||||
options = options || {};
|
||||
|
||||
var putfsResults = { errors: [] }
|
||||
, dirpaths = {}
|
||||
;
|
||||
|
||||
|
@ -294,7 +296,7 @@ function putfs(blogdir, files) {
|
|||
return forEachAsync(Object.keys(dirpaths), function (pathname) {
|
||||
return mkdirp(pathname).catch(function (e) {
|
||||
// TODO exclude attempting to write files to this dir?
|
||||
results.errors.push({
|
||||
putfsResults.errors.push({
|
||||
type: 'directory'
|
||||
|
||||
, directory: pathname
|
||||
|
@ -311,19 +313,23 @@ function putfs(blogdir, files) {
|
|||
}).then(function () {
|
||||
// TODO sort deletes last
|
||||
return forEachAsync(files, function (file) {
|
||||
var p
|
||||
;
|
||||
|
||||
// TODO use lastModifiedDate as per client request?
|
||||
// TODO compare sha1 sums for integrity
|
||||
if (file.delete || !file.contents) {
|
||||
p = fs.unlinkAsync(file.realPath);
|
||||
} else {
|
||||
p = fs.writeFileAsync(file.realPath, file.contents, 'utf8');
|
||||
}
|
||||
// NOTE existsAsync is backwards
|
||||
return fs.existsAsync(file.realPath).then(function () {
|
||||
return fs.writeFileAsync(file.realPath, file.contents, 'utf8');
|
||||
}).catch(function (/*exists*/) {
|
||||
if (file.delete || !file.contents) {
|
||||
return fs.unlinkAsync(file.realPath);
|
||||
}
|
||||
|
||||
return p.catch(function (e) {
|
||||
results.errors.push({
|
||||
if (false === options.replace || false === options.overwrite) {
|
||||
throw new Error('EEXIST: the file already exists');
|
||||
}
|
||||
|
||||
return fs.writeFileAsync(file.realPath, file.contents, 'utf8');
|
||||
}).catch(function (e) {
|
||||
putfsResults.errors.push({
|
||||
type: 'file'
|
||||
|
||||
, file: file.realPath
|
||||
|
@ -341,7 +347,7 @@ function putfs(blogdir, files) {
|
|||
});
|
||||
});
|
||||
}).catch(function (e) {
|
||||
results.error = {
|
||||
putfsResults.error = {
|
||||
message: e.message
|
||||
, code: e.code
|
||||
, errno: e.errno
|
||||
|
@ -349,7 +355,7 @@ function putfs(blogdir, files) {
|
|||
, syscall: e.syscall
|
||||
};
|
||||
}).then(function () {
|
||||
return results;
|
||||
return putfsResults;
|
||||
});
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue