mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
feature(format) rm duplicate
This commit is contained in:
parent
5e1818b99f
commit
ffd6ab647f
4 changed files with 4 additions and 168 deletions
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
win = require(DIR_SERVER + 'win'),
|
||||
main = require(DIR_SERVER + 'main'),
|
||||
format = require(DIR_SERVER + 'format'),
|
||||
mellow = require(DIR_SERVER + 'mellow'),
|
||||
ponse = require(DIR_SERVER + 'ponse'),
|
||||
files = require(DIR_SERVER + 'files'),
|
||||
|
|
@ -22,6 +21,7 @@
|
|||
Util = require(DIR_LIB + 'util'),
|
||||
CloudFunc = require(DIR_LIB + 'cloudfunc'),
|
||||
server = require(DIR_LIB + 'server'),
|
||||
format = require(DIR_LIB + 'format'),
|
||||
|
||||
Config = main.config,
|
||||
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
this.permissions = {
|
||||
symbolic: function(perms) {
|
||||
var type, owner, group, all,
|
||||
is = typeof perms !== undefined,
|
||||
permsStr = '',
|
||||
permissions = '';
|
||||
/*
|
||||
|
|
@ -70,7 +71,7 @@
|
|||
S_IXOTH 0000001 executable by all
|
||||
*/
|
||||
|
||||
if (perms) {
|
||||
if (is) {
|
||||
permsStr = perms.toString();
|
||||
/* тип файла */
|
||||
type = permsStr.charAt(0);
|
||||
|
|
|
|||
|
|
@ -1,165 +0,0 @@
|
|||
(function(scope) {
|
||||
'use strict';
|
||||
|
||||
var Scope = scope.window ? window : global;
|
||||
|
||||
if (typeof module === 'object' && module.exports)
|
||||
module.exports = new FormatProto();
|
||||
else
|
||||
Scope.Format = new FormatProto();
|
||||
|
||||
function FormatProto() {
|
||||
this.addSlashToEnd = function(path) {
|
||||
var length, isSlash;
|
||||
|
||||
if (path) {
|
||||
length = path.length - 1;
|
||||
isSlash = path[length] === '/';
|
||||
|
||||
if (!isSlash)
|
||||
path += '/';
|
||||
}
|
||||
|
||||
return path;
|
||||
};
|
||||
|
||||
/** Функция получает короткие размеры
|
||||
* конвертируя байт в килобайты, мегабойты,
|
||||
* гигайбайты и терабайты
|
||||
* @pSize - размер в байтах
|
||||
*/
|
||||
this.size = function(size) {
|
||||
var isNumber = typeof size === 'number',
|
||||
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 perms - строка с правами доступа
|
||||
* к файлу в 8-миричной системе
|
||||
*/
|
||||
this.permissions = {
|
||||
symbolic: function(perms) {
|
||||
var type, owner, group, all,
|
||||
is = typeof perms !== undefined,
|
||||
permsStr = '',
|
||||
permissions = '';
|
||||
/*
|
||||
S_IRUSR 0000400 protection: readable by owner
|
||||
S_IWUSR 0000200 writable by owner
|
||||
S_IXUSR 0000100 executable by owner
|
||||
S_IRGRP 0000040 readable by group
|
||||
S_IWGRP 0000020 writable by group
|
||||
S_IXGRP 0000010 executable by group
|
||||
S_IROTH 0000004 readable by all
|
||||
S_IWOTH 0000002 writable by all
|
||||
S_IXOTH 0000001 executable by all
|
||||
*/
|
||||
|
||||
if (is) {
|
||||
permsStr = perms.toString();
|
||||
/* тип файла */
|
||||
type = permsStr.charAt(0);
|
||||
|
||||
switch (type - 0) {
|
||||
case 1: /* обычный файл */
|
||||
type='-';
|
||||
break;
|
||||
case 2: /* байт-ориентированное (символьное) устройство*/
|
||||
type='c';
|
||||
break;
|
||||
case 4: /* каталог */
|
||||
type='d';
|
||||
break;
|
||||
default:
|
||||
type='-';
|
||||
}
|
||||
|
||||
/* оставляем последние 3 символа*/
|
||||
if (permsStr.length > 5)
|
||||
permsStr = permsStr.substr(3);
|
||||
else
|
||||
permsStr = permsStr.substr(2);
|
||||
|
||||
/* Рекомендации гугла советуют вместо string[3]
|
||||
* использовать string.charAt(3)
|
||||
*/
|
||||
/*
|
||||
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Standards_features#Standards_features
|
||||
|
||||
Always preferred over non-standards featuresFor
|
||||
maximum portability and compatibility, always
|
||||
prefer standards features over non-standards
|
||||
features (e.g., string.charAt(3) over string[3]
|
||||
and element access with DOM functions instead
|
||||
of using an application-specific shorthand).
|
||||
*/
|
||||
/* Переводим в двоичную систему */
|
||||
owner = (permsStr[0] - 0).toString(2),
|
||||
group = (permsStr[1] - 0).toString(2),
|
||||
all = (permsStr[2] - 0).toString(2),
|
||||
|
||||
/* переводим в символьную систему*/
|
||||
permissions =
|
||||
(owner[0] - 0 > 0 ? 'r' : '-') +
|
||||
(owner[1] - 0 > 0 ? 'w' : '-') +
|
||||
(owner[2] - 0 > 0 ? 'x' : '-') +
|
||||
' ' +
|
||||
(group[0] - 0 > 0 ? 'r' : '-') +
|
||||
(group[1] - 0 > 0 ? 'w' : '-') +
|
||||
(group[2] - 0 > 0 ? 'x' : '-') +
|
||||
' ' +
|
||||
(all[0]- 0 > 0 ? 'r' : '-') +
|
||||
(all[1]- 0 > 0 ? 'w' : '-') +
|
||||
(all[2]- 0 > 0 ? 'x' : '-');
|
||||
}
|
||||
|
||||
return permissions;
|
||||
},
|
||||
|
||||
/**
|
||||
* Функция конвертирует права доступа к файлам из символьного вида
|
||||
* в цыфровой
|
||||
*/
|
||||
numeric: function(perms) {
|
||||
var owner, group, all,
|
||||
length = perms && perms.length === 11;
|
||||
|
||||
if (length) {
|
||||
owner = (perms[0] === 'r' ? 4 : 0) +
|
||||
(perms[1] === 'w' ? 2 : 0) +
|
||||
(perms[2] === 'x' ? 1 : 0),
|
||||
|
||||
group = (perms[4] === 'r' ? 4 : 0) +
|
||||
(perms[5] === 'w' ? 2 : 0) +
|
||||
(perms[6] === 'x' ? 1 : 0),
|
||||
|
||||
all = (perms[8] === 'r' ? 4 : 0) +
|
||||
(perms[9] === 'w' ? 2 : 0) +
|
||||
(perms[10] === 'x' ? 1 : 0);
|
||||
|
||||
/* добавляем 2 цифры до 5 */
|
||||
perms = '00' + owner + group + all;
|
||||
}
|
||||
|
||||
return perms;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
})(this);
|
||||
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
Util = require(DIR_LIB + 'util'),
|
||||
CloudFunc = require(DIR_LIB + 'cloudfunc'),
|
||||
format = require(DIR_LIB + 'format'),
|
||||
|
||||
onFSGet = main.srvrequire('rest/fs/get').onGet,
|
||||
onFSPut = main.srvrequire('rest/fs/put').onPut,
|
||||
|
|
@ -35,7 +36,6 @@
|
|||
flop = require(DIR + 'flop'),
|
||||
pack = require(DIR + 'pack'),
|
||||
mellow = require(DIR + 'mellow'),
|
||||
format = require(DIR + 'format'),
|
||||
ponse = require(DIR + 'ponse'),
|
||||
pipe = require(DIR + 'pipe'),
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue