feature(nicki) add from npm

This commit is contained in:
coderaiser 2014-10-17 09:38:18 -04:00
parent 9a3f87fcff
commit be0b4e583d
3 changed files with 3 additions and 64 deletions

View file

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

View file

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

View file

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