add createdDate, sha1
This commit is contained in:
parent
c753a66794
commit
bac3b49985
36
lib/fsapi.js
36
lib/fsapi.js
|
@ -18,6 +18,9 @@ function strip(prefix, pathname) {
|
||||||
|
|
||||||
function walkDir(parent, sub, opts) {
|
function walkDir(parent, sub, opts) {
|
||||||
opts = opts || {};
|
opts = opts || {};
|
||||||
|
if (false !== opts.sha1sum) {
|
||||||
|
opts.sha1sum = true;
|
||||||
|
}
|
||||||
|
|
||||||
var prefix = path.resolve(parent)
|
var prefix = path.resolve(parent)
|
||||||
, trueRoot = path.resolve(prefix, sub)
|
, trueRoot = path.resolve(prefix, sub)
|
||||||
|
@ -58,6 +61,8 @@ function walkDir(parent, sub, opts) {
|
||||||
files.push({
|
files.push({
|
||||||
name: stat.name
|
name: stat.name
|
||||||
, relativePath: strip(prefix, filepath)
|
, relativePath: strip(prefix, filepath)
|
||||||
|
, path: path.join(strip(prefix, filepath), stat.name)
|
||||||
|
|
||||||
, type: undefined
|
, type: undefined
|
||||||
, error: stat.error
|
, error: stat.error
|
||||||
});
|
});
|
||||||
|
@ -81,24 +86,33 @@ function walkDir(parent, sub, opts) {
|
||||||
|
|
||||||
file = {
|
file = {
|
||||||
name: stat.name
|
name: stat.name
|
||||||
, lastModifiedDate: stat.mtime.toISOString()
|
|
||||||
, size: stat.size
|
|
||||||
, relativePath: dirname
|
, relativePath: dirname
|
||||||
|
, path: path.join(dirname, stat.name)
|
||||||
|
|
||||||
|
, createdDate: (stat.birthtime||stat.ctime).toISOString()
|
||||||
|
, lastModifiedDate: stat.mtime.toISOString()
|
||||||
|
|
||||||
|
, size: stat.size
|
||||||
, type: undefined // TODO include mimetype
|
, type: undefined // TODO include mimetype
|
||||||
};
|
};
|
||||||
files.push(file);
|
files.push(file);
|
||||||
|
|
||||||
if (opts.contents) {
|
if (!(opts.sha1sum || opts.content)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO stream sha1 (for assets)
|
||||||
return fs.readFileAsync(path.join(root, stat.name), null).then(function (buffer) {
|
return fs.readFileAsync(path.join(root, stat.name), null).then(function (buffer) {
|
||||||
var contents = buffer.toString('utf8')
|
var contents = buffer.toString('utf8')
|
||||||
;
|
;
|
||||||
|
|
||||||
file.contents = contents;
|
|
||||||
file.sha1 = sha1sum(contents);
|
file.sha1 = sha1sum(contents);
|
||||||
file.size = buffer.length;
|
|
||||||
file.type = undefined;
|
file.type = undefined;
|
||||||
});
|
|
||||||
|
if (opts.contents) {
|
||||||
|
file.contents = contents;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!opts.contents) {
|
if (!opts.contents) {
|
||||||
|
@ -141,11 +155,17 @@ function getfs(blogdir, filepaths) {
|
||||||
|
|
||||||
return fs.lstatAsync(pathname).then(function (stat) {
|
return fs.lstatAsync(pathname).then(function (stat) {
|
||||||
return fs.readFileAsync(pathname, null).then(function (buffer) {
|
return fs.readFileAsync(pathname, null).then(function (buffer) {
|
||||||
|
|
||||||
files.push({
|
files.push({
|
||||||
path: filepath
|
name: path.basename(pathname)
|
||||||
, size: buffer.length
|
, relativePath: path.dirname(filepath)
|
||||||
|
, path: filepath
|
||||||
|
|
||||||
|
, createdDate: (stat.birthtime||stat.ctime).toISOString()
|
||||||
, lastModifiedDate: stat.mtime.toISOString()
|
, lastModifiedDate: stat.mtime.toISOString()
|
||||||
|
|
||||||
, contents: buffer.toString('utf8')
|
, contents: buffer.toString('utf8')
|
||||||
|
, size: buffer.length
|
||||||
, sha1: sha1sum(buffer)
|
, sha1: sha1sum(buffer)
|
||||||
, type: undefined
|
, type: undefined
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue