2019-01-30 12:27:18 +01:00
|
|
|
var system = require("system");
|
2018-05-28 17:47:40 +02:00
|
|
|
|
2018-06-08 08:58:18 +02:00
|
|
|
if (system.args.length < 3 || system.args.length > 11) {
|
2019-01-30 12:27:18 +01:00
|
|
|
phantom.exit(1);
|
2018-05-28 17:47:40 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
var url = system.args[1];
|
|
|
|
var type_graph_pdf = system.args[2];
|
|
|
|
var url_params = system.args[3];
|
2018-06-01 13:58:29 +02:00
|
|
|
var url_params_comb = system.args[4];
|
|
|
|
var url_module_list = system.args[5];
|
|
|
|
var output_filename = system.args[6];
|
2019-01-30 12:27:18 +01:00
|
|
|
var viewport_width = system.args[7];
|
2018-06-19 19:07:36 +02:00
|
|
|
var viewport_height = system.args[8];
|
2019-01-30 12:27:18 +01:00
|
|
|
var session_id = system.args[9];
|
|
|
|
var base_64 = system.args[10];
|
2018-05-28 17:47:40 +02:00
|
|
|
|
2018-06-19 19:07:36 +02:00
|
|
|
if (!viewport_width) {
|
2019-01-30 12:27:18 +01:00
|
|
|
viewport_width = 750;
|
2018-05-28 17:47:40 +02:00
|
|
|
}
|
|
|
|
|
2018-06-19 19:07:36 +02:00
|
|
|
if (!viewport_height) {
|
2019-01-30 12:27:18 +01:00
|
|
|
viewport_height = 350;
|
2018-05-28 17:47:40 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
if (type_graph_pdf == "combined") {
|
|
|
|
post_data =
|
|
|
|
"data=" +
|
|
|
|
url_params +
|
|
|
|
"&data_combined=" +
|
|
|
|
url_params_comb +
|
|
|
|
"&data_module_list=" +
|
|
|
|
url_module_list +
|
|
|
|
"&type_graph_pdf=" +
|
|
|
|
type_graph_pdf +
|
|
|
|
"&session_id=" +
|
|
|
|
session_id;
|
|
|
|
} else {
|
|
|
|
post_data =
|
|
|
|
"data=" +
|
|
|
|
url_params +
|
|
|
|
"&type_graph_pdf=" +
|
|
|
|
type_graph_pdf +
|
|
|
|
"&session_id=" +
|
|
|
|
session_id;
|
2018-06-01 13:58:29 +02:00
|
|
|
}
|
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
var page = require("webpage").create();
|
2018-11-29 17:26:41 +01:00
|
|
|
|
2018-06-20 11:31:43 +02:00
|
|
|
page.viewportSize = {
|
2019-01-30 12:27:18 +01:00
|
|
|
width: viewport_width,
|
|
|
|
height: viewport_height
|
2018-06-20 11:31:43 +02:00
|
|
|
};
|
2018-05-28 17:47:40 +02:00
|
|
|
|
2018-11-29 17:26:41 +01:00
|
|
|
page.zoomFactor = 1;
|
2018-06-20 11:31:43 +02:00
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
page.onConsoleMessage = function(msg) {
|
|
|
|
console.log(msg);
|
2018-12-12 10:46:28 +01:00
|
|
|
};
|
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
page.onError = function(msg) {
|
|
|
|
console.log(msg);
|
|
|
|
page.close();
|
2019-09-18 16:58:02 +02:00
|
|
|
phantom.exit();
|
2018-11-29 17:26:41 +01:00
|
|
|
};
|
2018-11-27 17:43:59 +01:00
|
|
|
|
2019-01-30 12:27:18 +01:00
|
|
|
page.onCallback = function(st) {
|
|
|
|
if (!base_64) {
|
|
|
|
page.render(output_filename, { format: "png" });
|
|
|
|
} else {
|
|
|
|
var base64 = page.renderBase64("png");
|
|
|
|
// do not remove this console.output
|
|
|
|
console.log(base64);
|
|
|
|
}
|
|
|
|
phantom.exit();
|
|
|
|
};
|
2018-05-28 17:47:40 +02:00
|
|
|
|
2019-09-18 16:58:02 +02:00
|
|
|
page.open(url, "POST", post_data, function(status) {
|
|
|
|
if (status == "fail") {
|
|
|
|
console.out("Failed to generate chart.");
|
|
|
|
phantom.exit();
|
|
|
|
}
|
|
|
|
});
|