mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-20 18:23:21 +00:00
Updated os.name so that on Windows does not need admin to get better results
This commit is contained in:
@@ -2198,34 +2198,31 @@ void ILibDuktape_ScriptContainer_OS_Push(duk_context *ctx, void *chain)
|
|||||||
exports.Name = (function Name()\
|
exports.Name = (function Name()\
|
||||||
{\
|
{\
|
||||||
var child;\
|
var child;\
|
||||||
switch (process.platform)\
|
if(process.platform!='win32')\
|
||||||
{\
|
{\
|
||||||
case 'freebsd':\
|
switch (process.platform)\
|
||||||
case 'linux':\
|
{\
|
||||||
case 'darwin':\
|
case 'freebsd':\
|
||||||
child = require('child_process').execFile('/bin/sh', ['sh']);\
|
case 'linux':\
|
||||||
break;\
|
case 'darwin':\
|
||||||
case 'win32':\
|
child = require('child_process').execFile('/bin/sh', ['sh']);\
|
||||||
child = require('child_process').execFile('%windir%\\\\system32\\\\cmd.exe');\
|
break;\
|
||||||
break;\
|
}\
|
||||||
|
child.stdout.str=''; child.stdout.on('data', function(chunk) { this.str += chunk.toString(); });\
|
||||||
|
switch (process.platform)\
|
||||||
|
{\
|
||||||
|
case 'linux':\
|
||||||
|
child.stdin.write('cat /etc/*release\\nexit\\n');\
|
||||||
|
break;\
|
||||||
|
case 'darwin':\
|
||||||
|
child.stdin.write('sw_vers\\nexit\\n');\
|
||||||
|
break;\
|
||||||
|
case 'freebsd':\
|
||||||
|
child.stdin.write('uname -mrs\\nexit\\n');\
|
||||||
|
break;\
|
||||||
|
}\
|
||||||
|
child.waitExit();\
|
||||||
}\
|
}\
|
||||||
child.stdout.str=''; child.stdout.on('data', function(chunk) { this.str += chunk.toString(); });\
|
|
||||||
switch (process.platform)\
|
|
||||||
{\
|
|
||||||
case 'linux':\
|
|
||||||
child.stdin.write('cat /etc/*release\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
case 'darwin':\
|
|
||||||
child.stdin.write('sw_vers\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
case 'win32':\
|
|
||||||
child.stdin.write('exit\\r\\n');\
|
|
||||||
break;\
|
|
||||||
case 'freebsd':\
|
|
||||||
child.stdin.write('uname -mrs\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
child.waitExit();\
|
|
||||||
var ret=null;\
|
var ret=null;\
|
||||||
var lines;\
|
var lines;\
|
||||||
var tokens;\
|
var tokens;\
|
||||||
@@ -2233,17 +2230,15 @@ void ILibDuktape_ScriptContainer_OS_Push(duk_context *ctx, void *chain)
|
|||||||
switch (process.platform)\
|
switch (process.platform)\
|
||||||
{\
|
{\
|
||||||
case 'win32':\
|
case 'win32':\
|
||||||
var winstr = child.stdout.str.split('\\r\\n')[0];\
|
|
||||||
if(require('user-sessions').isRoot())\
|
|
||||||
{\
|
{\
|
||||||
try\
|
try\
|
||||||
{\
|
{\
|
||||||
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName') + ' - ' +\
|
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName') + ' - ' +\
|
||||||
require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ReleaseID') + ' ' + winstr.substring(winstr.indexOf('['));\
|
require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ReleaseID');\
|
||||||
}\
|
}\
|
||||||
catch(xx)\
|
catch(xx)\
|
||||||
{\
|
{\
|
||||||
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName') + ' ' + winstr.substring(winstr.indexOf('['));\
|
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName');\
|
||||||
}\
|
}\
|
||||||
}\
|
}\
|
||||||
ret = winstr;\
|
ret = winstr;\
|
||||||
@@ -2292,97 +2287,7 @@ void ILibDuktape_ScriptContainer_OS_Push(duk_context *ctx, void *chain)
|
|||||||
{\
|
{\
|
||||||
var promise = require('promise');\
|
var promise = require('promise');\
|
||||||
var p = new promise(function(acc, rej) { this._acc = acc; this._rej = rej; });\
|
var p = new promise(function(acc, rej) { this._acc = acc; this._rej = rej; });\
|
||||||
switch (process.platform)\
|
p._acc(this.Name);\
|
||||||
{\
|
|
||||||
case 'freebsd':\
|
|
||||||
case 'linux':\
|
|
||||||
case 'darwin':\
|
|
||||||
p.child = require('child_process').execFile('/bin/sh', ['sh']);\
|
|
||||||
break;\
|
|
||||||
case 'win32':\
|
|
||||||
p.child = require('child_process').execFile('%windir%\\\\system32\\\\cmd.exe');\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
p.child.promise = p;\
|
|
||||||
p.child.stdout.str = '';\
|
|
||||||
p.child.stdout.on('data', function(chunk) { this.str += chunk.toString(); });\
|
|
||||||
p.child.on('exit', function(code)\
|
|
||||||
{\
|
|
||||||
var lines;\
|
|
||||||
var tokens;\
|
|
||||||
var i, j;\
|
|
||||||
switch (process.platform)\
|
|
||||||
{\
|
|
||||||
case 'win32':\
|
|
||||||
var winstr = this.stdout.str.split('\\r\\n')[0];\
|
|
||||||
if(require('user-sessions').isRoot())\
|
|
||||||
{\
|
|
||||||
try\
|
|
||||||
{\
|
|
||||||
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName') + ' - ' +\
|
|
||||||
require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ReleaseID') + ' ' + winstr.substring(winstr.indexOf('['));\
|
|
||||||
}\
|
|
||||||
catch(xx)\
|
|
||||||
{\
|
|
||||||
winstr = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SOFTWARE\\\\Microsoft\\\\Windows NT\\\\CurrentVersion', 'ProductName') + ' ' + winstr.substring(winstr.indexOf('['));\
|
|
||||||
}\
|
|
||||||
}\
|
|
||||||
this.promise._acc(winstr);\
|
|
||||||
break;\
|
|
||||||
case 'linux':\
|
|
||||||
lines = this.stdout.str.split('\\n');\
|
|
||||||
for (i in lines)\
|
|
||||||
{\
|
|
||||||
tokens = lines[i].split('=');\
|
|
||||||
if (tokens[0] == 'PRETTY_NAME')\
|
|
||||||
{\
|
|
||||||
this.promise._acc(tokens[1].substring(1, tokens[1].length - 1));\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
}\
|
|
||||||
for (i in lines)\
|
|
||||||
{\
|
|
||||||
tokens = lines[i].split('=');\
|
|
||||||
if (tokens[0] == 'DISTRIB_DESCRIPTION')\
|
|
||||||
{\
|
|
||||||
this.promise._acc(tokens[1].substring(1, tokens[1].length - 1));\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
}\
|
|
||||||
this.promise._acc(lines[0]);\
|
|
||||||
break;\
|
|
||||||
case 'darwin':\
|
|
||||||
var OSNAME = '';\
|
|
||||||
var OSVERSION = '';\
|
|
||||||
lines = this.stdout.str.split('\\n');\
|
|
||||||
for (i in lines)\
|
|
||||||
{\
|
|
||||||
tokens = lines[i].split(':');\
|
|
||||||
if (tokens[0] == 'ProductName') { OSNAME = tokens[1].trim(); }\
|
|
||||||
if (tokens[0] == 'ProductVersion') { OSVERSION = tokens[1].trim(); }\
|
|
||||||
}\
|
|
||||||
this.promise._acc(OSNAME + ' ' + OSVERSION);\
|
|
||||||
break;\
|
|
||||||
case 'freebsd':\
|
|
||||||
this.promise._acc(this.stdout.str.trim());\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
});\
|
|
||||||
switch (process.platform)\
|
|
||||||
{\
|
|
||||||
case 'linux':\
|
|
||||||
p.child.stdin.write('cat /etc/*release\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
case 'darwin':\
|
|
||||||
p.child.stdin.write('sw_vers\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
case 'win32':\
|
|
||||||
p.child.stdin.write('exit\\r\\n');\
|
|
||||||
break;\
|
|
||||||
case 'freebsd':\
|
|
||||||
p.child.stdin.write('uname -mrs\\nexit\\n');\
|
|
||||||
break;\
|
|
||||||
}\
|
|
||||||
return (p);\
|
return (p);\
|
||||||
};\
|
};\
|
||||||
if(process.platform=='freebsd')\
|
if(process.platform=='freebsd')\
|
||||||
|
|||||||
Reference in New Issue
Block a user