(folder)
| 3 | |
| 4 | export default class ProjectRunner{ |
| 5 | constructor(folder) { |
| 6 | this.folder = folder; |
| 7 | window.service.running_scene = window.service.currentScene; |
| 8 | window.service.log("Running scene: "+window.service.project.sceneNames[window.service.currentScene], "", 0); |
| 9 | window.service.consoleWindow.selectTab(1) |
| 10 | window.service.updatedDynamicVars = true; |
| 11 | |
| 12 | const exec = spawn('python', [folder+'/main.py']); |
| 13 | window.service.runningProcess = exec; |
| 14 | exec.stdout.on('data', (data) => { |
| 15 | let msgs = data.toString().split("\n"); |
| 16 | |
| 17 | for (let i in msgs) |
| 18 | { |
| 19 | let msg = msgs[i]; |
| 20 | if(msg.indexOf("status:")==0) |
| 21 | { |
| 22 | let status = msg.split(":")[2].trim(); |
| 23 | let target = msg.split(":")[1].trim(); |
| 24 | |
| 25 | window.service.onRunUpdate(target, status); |
| 26 | } |
| 27 | else if(msg.indexOf("img_data,")==0) |
| 28 | { |
| 29 | let path = msg.split(",")[2].trim(); |
| 30 | let target = msg.split(",")[1].trim(); |
| 31 | let name = msg.split(",")[3].trim(); |
| 32 | |
| 33 | for(let u in window.service.image_viewers) |
| 34 | { |
| 35 | window.service.image_viewers[u].setPath(path, target, name); |
| 36 | } |
| 37 | } |
| 38 | else if(msg.indexOf("audio_data,")==0) |
| 39 | { |
| 40 | let path = msg.split(",")[2].trim(); |
| 41 | let target = msg.split(",")[1].trim(); |
| 42 | let name = msg.split(",")[3].trim(); |
| 43 | |
| 44 | for(let u in window.service.audio_viewers) |
| 45 | { |
| 46 | window.service.audio_viewers[u].setPath(path, target, name); |
| 47 | } |
| 48 | } |
| 49 | else if(msg.indexOf("chart:")==0) |
| 50 | { |
| 51 | let target = msg.split(":")[1].trim(); |
| 52 | let name = msg.split(":")[2].trim(); |
| 53 | let value = msg.split(":")[3].trim(); |
| 54 | let color = msg.split(":")[4].trim(); |
| 55 | |
| 56 | /*if(window.service.pending_charts[target]) |
| 57 | { |
| 58 | if(window.service.pending_charts[target][name]) |
| 59 | window.service.pending_charts[target][name].push(value); |
| 60 | else |
| 61 | window.service.pending_charts[target][name] = [value]; |
| 62 | } |
nothing calls this directly
no test coverage detected