mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
feature(nicki) add from npm
This commit is contained in:
parent
9a3f87fcff
commit
be0b4e583d
3 changed files with 3 additions and 64 deletions
|
|
@ -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;
|
||||
}
|
||||
})();
|
||||
|
|
@ -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';
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue