feature(format) rm duplicate

This commit is contained in:
coderaiser 2014-09-04 06:38:14 -04:00
parent 5e1818b99f
commit ffd6ab647f
4 changed files with 4 additions and 168 deletions

View file

@ -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,

View file

@ -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);

View file

@ -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);

View file

@ -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'),