updated for creating post from node

Cette révision appartient à :
AJ ONeal 2015-01-15 17:19:25 -07:00
Parent bae751916c
révision 1b7f41ae7a
3 fichiers modifiés avec 33 ajouts et 19 suppressions

Voir le fichier

@ -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('');

Voir le fichier

@ -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);
};
}

Voir le fichier

@ -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;
});
}
/*