UNPKG

ernest

Version:

Web framework for HTTP and HTTPS, using ExpressJS, Session, Mongo, Socket IO, Redis

147 lines (133 loc) 2.02 kB
var fs = require('fs'); var targz = require('targz'); class Ernest_Files { constructor() { }; CreateFolder(src_namepath,callback) { if(!fs.existsSync(src_namepath)) { fs.mkdir(src_namepath,function(e) { if(e) { callback(e); } else { callback(true); } }); } else { callback(true); }; }; DeleteFolder(src_namepath,callback) { deleteFolderRecursive(src_namepath); callback(); }; RenameFolder(src_namepath,dst_namepath,callback) { fs.rename(src_namepath, dst_namepath, function(e) { if(e) { callback(e); } else { callback(true); }; }); }; CopyFile(src_namepath,dst_namepath,callback) { copyFile(src_namepath, dst_namepath,function(r) { callback(r); }); }; CopyFolder(src_namepath,dst_namepath,callback) { }; Compress_Folder(src_namepath,dst_namepath,callback) { targz.compress({ src: src_namepath, dest: dst_namepath }, function(err) { if(err) { callback(err); } else { callback("Done!"); } }); }; Decompress_Folder(src_namepath,dst_namepath,callback) { targz.decompress({ src: src_namepath, dest: dst_namepath }, function(err) { if(err) { callback(err); } else { callback(true); } }); }; }; module.exports = Ernest_Files; function deleteFolderRecursive (path) { if( fs.existsSync(path) ) { fs.readdirSync(path).forEach(function(file,index) { var curPath = path + "/" + file; if(fs.lstatSync(curPath).isDirectory()) { deleteFolderRecursive(curPath); } else { fs.unlinkSync(curPath); } }); fs.rmdirSync(path); } }; function copyFile(src, dest,callback) { if (!fs.existsSync(src)) { console.log("here1"); callback(true); } else { var data = fs.readFileSync(src, 'utf-8'); fs.writeFileSync(dest, data); if (!fs.existsSync(dest)) { callback(true); } else { callback(null); }; }; };