diff --git a/lib/server/nicki.js b/lib/server/nicki.js deleted file mode 100644 index c1ecba71..00000000 --- a/lib/server/nicki.js +++ /dev/null @@ -1,63 +0,0 @@ -(function() { - 'use strict'; - - /* - * nicki.js' - * ----------- - * get names from uids on unix from /etc/passwd' - */ - - var fs = require('fs'), - ischanged = require('./ischanged'), - Util = require('../util'), - FILE = '/etc/passwd', - Names; - - module.exports = function(callback) { - ischanged(FILE, function(error, is) { - if (error) - callback(error); - else if (is || !Names) - read(callback); - else - callback(null, Names); - }); - }; - - function read(callback) { - fs.readFile(FILE, 'utf8', function(error, passwd) { - if (!error) - Names = get(passwd); - - callback(error, Names); - }); - } - - - /** Функция парсит uid и имена пользователей - * из переданного в строке вычитаного файла /etc/passwd - * и возвращает массив обьектов имён и uid пользователей - * @param passwd - строка, в которой находиться файл /etc/passwd - */ - function get(passwd) { - var uid, name, - passwdArray = passwd.split('\n'), - users = {}; - - passwdArray.forEach(function(line) { - passwd = Util.rmStr(passwd, line); - - /* получаем первое слово строки */ - name = line.substr(line, line.indexOf(':')); - line = Util.rmStr(line, name + ':x:'); - - /* получаем uid */ - uid = line.substr(line, line.indexOf(':')); - - if (uid) - users[uid] = name; - }); - - return users; - } -})(); diff --git a/lib/server/readify.js b/lib/server/readify.js index 8bd04c8a..4e78e8cd 100644 --- a/lib/server/readify.js +++ b/lib/server/readify.js @@ -8,7 +8,8 @@ Util = require(DIR + 'util'), format = require(DIR + 'format'), - nicki = require(DIR_SERVER + 'nicki'), + tryRequire = require(DIR_SERVER + 'tryRequire'), + nicki = tryRequire('nicki', {callback: true}), WIN = process.platform === 'win32'; diff --git a/package.json b/package.json index 74f971bd..b8947ab3 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "minify": "~1.0.0", "mkdirp": "~0.5.0", "ncp": "~1.0.0", + "nicki": "~1.1.2", "rimraf": "~2.2.6", "socket.io": "~1.1.0", "tar": "~1.0.1"