feature(format) mv getShortSize to format

This commit is contained in:
coderaiser 2014-06-20 04:45:30 -04:00
parent 2798f41d80
commit 5d450d11c4
4 changed files with 88 additions and 33 deletions

View file

@ -297,31 +297,6 @@ var Util;
return perms;
};
/** Функция получает короткие размеры
* конвертируя байт в килобайты, мегабойты,
* гигайбайты и терабайты
* @pSize - размер в байтах
*/
this.getShortSize = function(size) {
var isNumber = Util.isNumber(size),
l1KB = 1024,
l1MB = l1KB * l1KB,
l1GB = l1MB * l1KB,
l1TB = l1GB * l1KB,
l1PB = l1TB * l1KB;
if (isNumber) {
if (size < l1KB) size = size + 'b';
else if (size < l1MB) size = (size/l1KB).toFixed(2) + 'kb';
else if (size < l1GB) size = (size/l1MB).toFixed(2) + 'mb';
else if (size < l1TB) size = (size/l1GB).toFixed(2) + 'gb';
else if (size < l1PB) size = (size/l1TB).toFixed(2) + 'tb';
else size = (size/l1PB).toFixed(2) + 'pb';
}
return size;
};
/** Функция получает адреса каждого каталога в пути
* возвращаеться массив каталогов
* @param url - адрес каталога
@ -460,7 +435,7 @@ var Util;
} else {
type = 'text-file';
attribute = 'target="_blank" ';
size = CloudFunc.getShortSize(file.size);
size = file.size;
}
owner = file.owner || 'root';

View file

@ -11,8 +11,13 @@
*/
var fs = require('fs'),
Util = require('../util'),
users = require('./users'),
DIR = '../',
DIR_SERVER = DIR + 'server/',
Util = require(DIR + 'util'),
format = require(DIR_SERVER + 'format'),
users = require(DIR_SERVER + 'users'),
WIN32 = process.platform === 'win32';
@ -135,6 +140,8 @@
size = isDir ? 'dir' : stat.size;
}
size = format.size(size);
file = {
'name' : name,
'size' : size,

View file

@ -9,10 +9,14 @@
* dir.getSize(path, callback)
*/
var fs = require('fs'),
path = require('path'),
var fs = require('fs'),
path = require('path'),
Util = require('../util'),
DIR = '../',
DIR_SERVER = DIR + 'server/',
format = require(DIR_SERVER + 'format'),
Util = require(DIR + 'util'),
/* The lstat() function shall be equivalent to stat(),
except when path refers to a symbolic link. In that case lstat()
@ -34,9 +38,14 @@
});
};
exports.getSize = function(dir, callback) {
exports.getSize = function(dir, type, callback) {
var total = 0;
Util.checkArgs(arguments, ['dir', 'callback']);
if (!callback)
callback = type;
function calcSize(stat) {
var size = stat && stat.size || 0;
@ -44,7 +53,14 @@
}
processDir(dir, calcSize, function() {
Util.exec(callback, null, total);
var result;
if (type !== 'raw')
result = format.size(total);
else
result = total;
Util.exec(callback, null, result);
});
};
@ -97,4 +113,30 @@
getDirInfo(dir);
}
/** Функция получает короткие размеры
* конвертируя байт в килобайты, мегабойты,
* гигайбайты и терабайты
* @pSize - размер в байтах
*/
exports.getShortSize = function(size) {
var isNumber = Util.isNumber(size),
l1KB = 1024,
l1MB = l1KB * l1KB,
l1GB = l1MB * l1KB,
l1TB = l1GB * l1KB,
l1PB = l1TB * l1KB;
if (isNumber) {
if (size < l1KB) size = size + 'b';
else if (size < l1MB) size = (size/l1KB).toFixed(2) + 'kb';
else if (size < l1GB) size = (size/l1MB).toFixed(2) + 'mb';
else if (size < l1TB) size = (size/l1GB).toFixed(2) + 'gb';
else if (size < l1PB) size = (size/l1TB).toFixed(2) + 'tb';
else size = (size/l1PB).toFixed(2) + 'pb';
}
return size;
};
})();

31
lib/server/format.js Normal file
View file

@ -0,0 +1,31 @@
(function() {
'use strict';
var DIR = '../',
Util = require(DIR + 'util');
/** Функция получает короткие размеры
* конвертируя байт в килобайты, мегабойты,
* гигайбайты и терабайты
* @pSize - размер в байтах
*/
exports.size = function(size) {
var isNumber = Util.isNumber(size),
l1KB = 1024,
l1MB = l1KB * l1KB,
l1GB = l1MB * l1KB,
l1TB = l1GB * l1KB,
l1PB = l1TB * l1KB;
if (isNumber) {
if (size < l1KB) size = size + 'b';
else if (size < l1MB) size = (size/l1KB).toFixed(2) + 'kb';
else if (size < l1GB) size = (size/l1MB).toFixed(2) + 'mb';
else if (size < l1TB) size = (size/l1GB).toFixed(2) + 'gb';
else if (size < l1PB) size = (size/l1TB).toFixed(2) + 'tb';
else size = (size/l1PB).toFixed(2) + 'pb';
}
return size;
};
})();