mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
minor changes
This commit is contained in:
parent
343c6aa775
commit
aa66f7f32f
1 changed files with 77 additions and 0 deletions
77
lib/server/ischanged.js
Normal file
77
lib/server/ischanged.js
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
(function(){
|
||||
'use strict';
|
||||
|
||||
var main = require('./main'), //global.cloudcmd.main,
|
||||
DIR = main.DIR,
|
||||
|
||||
fs = main.fs,
|
||||
path = main.path,
|
||||
Util = main.util,
|
||||
|
||||
/* object contains hashes of files*/
|
||||
CHANGESNAME = DIR + 'changes',
|
||||
CHANGES_JSON = CHANGESNAME + '.json',
|
||||
|
||||
Times = main.require(CHANGESNAME) || [],
|
||||
TimesChanged;
|
||||
|
||||
function isFileChanged(pFileName, pLastFile_b, pCallBack){
|
||||
var lReadedTime;
|
||||
|
||||
var i, n = Times.length;
|
||||
for(i = 0; i < n; i++){
|
||||
var lData = Times[i];
|
||||
|
||||
/* if founded row with file name - save hash */
|
||||
if(lData.name === pFileName){
|
||||
lReadedTime = lData.time;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fs.stat(pFileName, function(pError, pStat){
|
||||
var lTimeChanged;
|
||||
|
||||
if(!pError){
|
||||
var lFileTime = pStat.mtime.getTime();
|
||||
|
||||
if(lReadedTime !== lFileTime){
|
||||
Times[i] = {
|
||||
name: pFileName,
|
||||
time: lFileTime
|
||||
};
|
||||
|
||||
lTimeChanged =
|
||||
TimesChanged = true;
|
||||
}
|
||||
|
||||
if(pLastFile_b && TimesChanged)
|
||||
writeFile(CHANGES_JSON, Util.stringifyJSON(Times));
|
||||
}
|
||||
else{
|
||||
Util.log(pError);
|
||||
lTimeChanged = false;
|
||||
}
|
||||
|
||||
Util.exec(pCallBack, lTimeChanged);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Функция записывает файла
|
||||
* и выводит ошибку или сообщает,
|
||||
* что файл успешно записан
|
||||
*/
|
||||
function writeFile(pFileName, pData){
|
||||
fs.writeFile(pFileName, pData, function(pError){
|
||||
if(pError)
|
||||
Util.log(pError);
|
||||
else
|
||||
Util.log('minify: file ' + path.basename(pFileName) + ' writed...');
|
||||
});
|
||||
}
|
||||
|
||||
isFileChanged(DIR + 'favicon.ico', true, function(pData){
|
||||
console.log(pData)
|
||||
});
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue