created command line args in flash server
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
.idea/workspace.xml
|
.idea/workspace.xml
|
||||||
.idea/uiDesigner.xml
|
.idea/uiDesigner.xml
|
||||||
protobufjs
|
protobufjs
|
||||||
|
node_modules
|
||||||
out
|
out
|
||||||
|
|||||||
@@ -2,29 +2,27 @@
|
|||||||
* Created by user on 7/11/16.
|
* Created by user on 7/11/16.
|
||||||
*/
|
*/
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const protoBuf = require("./protobufjs");
|
const main = require("./main.js");
|
||||||
const builder = protoBuf.loadProtoFile("./proto/carkot.proto");//todo перенести как аргумент при запуске.
|
|
||||||
const protoConstructor = builder.build("carkot");
|
|
||||||
var commandPrefix = "./data/macosx-x86_64/st-flash write";
|
|
||||||
var binFilePath = "./f.bin";
|
|
||||||
|
|
||||||
function loadBin(httpContent, response) {
|
function loadBin(httpContent, response) {
|
||||||
|
|
||||||
var uploadClass = protoConstructor.Upload;
|
var uploadClass = main.protoConstructor.Upload;
|
||||||
var uploadObject = uploadClass.decode(httpContent);
|
var uploadObject = uploadClass.decode(httpContent);
|
||||||
fs.writeFile(binFilePath, uploadObject.data.buffer, "binary", function (error) {
|
fs.writeFile(binFilePath, uploadObject.data.buffer, "binary", function (error) {
|
||||||
var uploadResultClass = protoConstructor.UploadResult;
|
var uploadResultClass = main.protoConstructor.UploadResult;
|
||||||
var code = 0;
|
var code = 0;
|
||||||
|
var stdErr = "";
|
||||||
if (error) {
|
if (error) {
|
||||||
code = 2;
|
code = 2;
|
||||||
|
stdErr = error.toString();
|
||||||
} else {
|
} else {
|
||||||
code = 0;
|
code = 0;
|
||||||
console.log(commandPrefix + " " + binFilePath + " " + uploadObject.base);
|
console.log(main.commandPrefix + " " + main.binFilePath + " " + uploadObject.base);
|
||||||
}
|
}
|
||||||
var resultObject = new uploadResultClass({
|
var resultObject = new uploadResultClass({
|
||||||
"stdOut": "",
|
"stdOut": "",
|
||||||
"resultCode": code,
|
"resultCode": code,
|
||||||
"stdErr": ""
|
"stdErr": stdErr
|
||||||
});
|
});
|
||||||
var byteBuffer = resultObject.encode();
|
var byteBuffer = resultObject.encode();
|
||||||
var byteArray = [];
|
var byteArray = [];
|
||||||
@@ -37,7 +35,7 @@ function loadBin(httpContent, response) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function other(request, response) {
|
function other(httpContent, response) {
|
||||||
console.log("other");
|
console.log("other");
|
||||||
response.writeHead(200, {"Content-Type": "text/plain"});
|
response.writeHead(200, {"Content-Type": "text/plain"});
|
||||||
response.end();
|
response.end();
|
||||||
|
|||||||
@@ -5,67 +5,32 @@
|
|||||||
var server = require("./server.js");
|
var server = require("./server.js");
|
||||||
var router = require("./router.js");
|
var router = require("./router.js");
|
||||||
var handlers = require("./handlers.js");
|
var handlers = require("./handlers.js");
|
||||||
|
var commander = require("commander");
|
||||||
|
const protoBuf = require("protobufjs");
|
||||||
|
|
||||||
|
|
||||||
|
commander
|
||||||
|
.version('1.0.0')
|
||||||
|
.option('-p, --protopath [path]', 'path to proto file. default ./proto/carkot.proto')
|
||||||
|
.option('-b, --binfile [path]', 'path to save bin file with name f.bin. default ./')
|
||||||
|
// .option('-b, --bbq-sauce', 'Add bbq sauce')
|
||||||
|
// .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
|
||||||
|
.parse(process.argv);
|
||||||
|
|
||||||
|
const builder = protoBuf.loadProtoFile(commander.protopath ? commander.protopath : "./proto/carkot.proto");
|
||||||
|
const protoConstructor = builder.build("carkot");
|
||||||
|
|
||||||
|
if (commander.protopath) {
|
||||||
|
console.log("pew " + commander.protopath)
|
||||||
|
}
|
||||||
var handle = {};
|
var handle = {};
|
||||||
handle["/"] = handlers.other;
|
handle["/"] = handlers.other;
|
||||||
handle["/loadBin"] = handlers.loadBin;
|
handle["/loadBin"] = handlers.loadBin;
|
||||||
handle["/other"] = handlers.other;
|
handle["/other"] = handlers.other;
|
||||||
|
|
||||||
|
|
||||||
// UploadR = upRes.UploadResult;
|
|
||||||
// var res = new UploadR({"error": "test error!"});
|
|
||||||
// console.log(res.encode());
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// var testBack = UploadR.decode(res.encode());
|
|
||||||
// console.log(testBack);
|
|
||||||
|
|
||||||
// console.log(process.argv);
|
|
||||||
server.start(router.route, handle);
|
server.start(router.route, handle);
|
||||||
|
exports.protoConstructor = protoConstructor;
|
||||||
// var http = require("http");
|
exports.commandPrefix = "./data/macosx-x86_64/st-flash write";
|
||||||
//
|
exports.binFilePath = (commander.binfile ? commander.binfile : "./") + "f.bin";
|
||||||
// var global_closure = null;
|
console.log(exports.binFilePath);
|
||||||
//
|
console.log(exports.commandPrefix);
|
||||||
// // nodejs/javascript closures
|
|
||||||
// http.createServer(function(request, response) {
|
|
||||||
// // console.log("test");
|
|
||||||
// global_closure && global_closure();
|
|
||||||
//
|
|
||||||
// // console.log(request);
|
|
||||||
// // response.writeHead(200, {"Content-Type": "text/plain"});
|
|
||||||
// // response.write("Hello World");
|
|
||||||
//
|
|
||||||
// function closure() {
|
|
||||||
// console.log(request.toString());
|
|
||||||
// }
|
|
||||||
// global_closure = closure;
|
|
||||||
//
|
|
||||||
// //writeToJournal().getDBData().processDBData().sendResponse().commitJournal();
|
|
||||||
// function writeToJournal() {
|
|
||||||
// console.log(request);
|
|
||||||
// getDBData(processDBData);
|
|
||||||
// getDBData(function() {});
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// function getDBData(callback) {
|
|
||||||
// db.getData({ id : request.query['id'] }, onDbDataReady);
|
|
||||||
// var i = 0;
|
|
||||||
//
|
|
||||||
// function onDbDataReady(err, someDBData) {
|
|
||||||
// if (err) {
|
|
||||||
// return response.error();
|
|
||||||
// }
|
|
||||||
// console.log(i);
|
|
||||||
// callback(someDBData);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// function processDBData(dbData) {
|
|
||||||
// function sendResponse() {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// response.end();
|
|
||||||
// }).listen(8888);
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"name": "stflashserver",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "main.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"start": "node main.js"
|
||||||
|
},
|
||||||
|
"author": "maxim",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"commander": "^2.9.0",
|
||||||
|
"protobufjs": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user