diff --git a/style-transform-master/style-transform-master/backup.js b/style-transform-master/style-transform-master/backup.js new file mode 100644 index 0000000..0e5ae28 --- /dev/null +++ b/style-transform-master/style-transform-master/backup.js @@ -0,0 +1,91 @@ +'use strict'; +const fs = require('fs'); +const exec = require('child_process').exec; + +const request = require("request"); +const net = require('net'); + +const tcp_client = new net.Socket(); + +tcp_client.connect(5678, "106.75.253.244", function () { + console.log('CONNECTED TO: 106.75.253.244:5678'); + + tcp_client.on('data', function (data) { + data = data.toString(); + console.log(data); + let queryObject = JSON.parse(data); + + let stream = fs.createWriteStream("./uploads/" + queryObject.content); + request({ + url: "http://106.75.253.244:1337/uploads/" + queryObject.content, + method: "GET" + }).pipe(stream).on("close", function (err) { + if (err) { + console.error(err); + } + console.log("content[" + queryObject.content + "] download."); + + stream = fs.createWriteStream("./uploads/" + queryObject.style); + request({ + url: "http://106.75.253.244:1337/uploads/" + queryObject.style, + method: "GET" + }).pipe(stream).on("close", function (err) { + if (err) { + console.error(err); + } + console.log("style[" + queryObject.style + "] download."); + + run_child(queryObject); + }); + }); + }); +}); + +function run_child(queryObject) { + let taskID = queryObject.taskID; + let child = exec(`python run_main.py --content ./uploads/${queryObject.content} --style ./uploads/${queryObject.style} --output ./uploads/${taskID}.jpg --num_iter ${queryObject.iter}`); + + console.log(taskID + " start!"); + console.log(`content: ${queryObject.content}`); + console.log(`style: ${queryObject.style}`) + console.log(`output: ${taskID}.jpg`); + console.log(`num_iter = ${queryObject.iter}`); + + child.stdout.on("data", function (data) { + let args = data.split(' '); + console.log(args); + if (args[0] != '$') { + return; + } + tcp_client.write(JSON.stringify({ + signal: args[0], + iter: args[1], + totalLoss: args[2], + ContentLoss: args[3], + StyleLoss: args[4] + })); + }); + + child.on("close", (code) => { + request({ + url: `http://` + `106.75.253.244:1337/receive_result`, + method: "POST", + form: { + taskID: taskID, + result: fs.readFileSync(`./uploads/${taskID}.jpg`).toString('base64') + } + }, function (err, res, html) { + if (err || res.statusCode != 200) { + console.error(err); + console.error(res.statusCode); + console.log(html); + return; + } + + tcp_client.write(JSON.stringify({ + signal: "###", + code: code + })); + }); + }); +}