mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-20 18:18:56 +00:00
feature(format) mv getShortSize to format
This commit is contained in:
parent
2798f41d80
commit
5d450d11c4
4 changed files with 88 additions and 33 deletions
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
31
lib/server/format.js
Normal 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;
|
||||
};
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue