From 7c5a3eaf1fd513d64e2fec6dcb49d6e5c36278d3 Mon Sep 17 00:00:00 2001 From: Omar M Date: Mon, 2 Dec 2013 14:19:13 +0300 Subject: [PATCH] added setdset function for greenpacket CPE --- .../greenpacket_frequencies.js | 47 ++++++++++++++----- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/config/custom_commands/greenpacket_frequencies.js b/config/custom_commands/greenpacket_frequencies.js index 95ab68b..ab67934 100644 --- a/config/custom_commands/greenpacket_frequencies.js +++ b/config/custom_commands/greenpacket_frequencies.js @@ -119,14 +119,18 @@ var parsePairs = function(pairsString) { } exports.set = function(deviceId, args, callback) { - executeSet(deviceId, args, false, callback); + executeSet(deviceId, args, ['set'], callback); }; exports.dset = function(deviceId, args, callback) { - executeSet(deviceId, args, true, callback); + executeSet(deviceId, args, ['dset'], callback); }; -var executeSet = function(deviceId, args, dset, callback) { +exports.setdset = function(deviceId, args, callback) { + executeSet(deviceId, args, ['dset', 'set'], callback); +}; + +var executeSet = function(deviceId, args, method, callback) { var tmp = args.split('-'); var defaultBandwidth = tmp[0]; var pairs = parsePairs(tmp[1]); @@ -135,21 +139,38 @@ var executeSet = function(deviceId, args, dset, callback) { getDeviceIp(deviceId, function(ip) { var client = telnetConnect(ip, function(err) { - //return callback(null, "ok"); - var telnet_cmd = "sncfg set"; - if (dset) telnet_cmd = "sncfg dset"; + var telnet_cmd = "sncfg " + method[0]; telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) { if (err) return callback(err); telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) { if (err) return callback(err); - telnetExecute("sncfg commit", client, "\n# ", function(err, response) { - if (err) return callback(err); - // log out - telnetExecute("exit", client, null, function(err, response) { - client.end(); - return callback(null, args); + if (method.length > 1) { + telnet_cmd = "sncfg " + method[1]; + telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) { + if (err) return callback(err); + telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) { + if (err) return callback(err); + telnetExecute("sncfg commit", client, "\n# ", function(err, response) { + if (err) return callback(err); + // log out + telnetExecute("exit", client, null, function(err, response) { + client.end(); + return callback(null, args); + }); + }); + }); }); - }); + } + else { + telnetExecute("sncfg commit", client, "\n# ", function(err, response) { + if (err) return callback(err); + // log out + telnetExecute("exit", client, null, function(err, response) { + client.end(); + return callback(null, args); + }); + }); + } }); }); });