Skip to content

Commit 7197865

Browse files
committed
Allow executing code using the legacy endpoint (and urlencode in post). Disable experimental flag
1 parent ff865de commit 7197865

File tree

1 file changed

+42
-9
lines changed

1 file changed

+42
-9
lines changed

src/components/Blockly.vue

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44
<sidebar></sidebar>
55
<v-toolbar color="indigo" dark fixed app>
66
<v-toolbar-side-icon @click.stop="toggleSidebar()"></v-toolbar-side-icon>
7-
<v-toolbar-title>CoderBot</v-toolbar-title>
7+
<v-toolbar-title>
8+
<template v-if="programName">
9+
{{ programName }}
10+
</template>
11+
<template v-else>
12+
(Senza Nome)
13+
</template>
14+
</v-toolbar-title>
815
<v-spacer></v-spacer>
916
<v-toolbar-items>
1017
<!-- template serves as an invisible wrapper to conditional render more than one element -->
@@ -21,7 +28,7 @@
2128
<v-icon>folder_open</v-icon>
2229
Carica
2330
</v-btn>
24-
<v-btn v-on:click="runProgram()" flat>
31+
<v-btn v-on:click="runProgramLegacy()" flat>
2532
<v-icon>play_arrow</v-icon>
2633
Esegui
2734
</v-btn>
@@ -226,7 +233,7 @@ export default {
226233
generalDialog: false,
227234
generalDialogText: null,
228235
generalDialogTitle: null,
229-
experimental: 1,
236+
experimental: 0,
230237
execMode: "fullExec", // can be 'fullExec' or 'stepByStep',
231238
carica: false,
232239
programList: '',
@@ -519,7 +526,6 @@ export default {
519526
var code = Blockly.Python.workspaceToCode(this.$data.workspace);
520527
Blockly.Python.INFINITE_LOOP_TRAP = null;
521528
522-
523529
axios.post(CB + '/exec', {
524530
name: 'Hello, World!',
525531
dom_code,
@@ -534,14 +540,41 @@ export default {
534540
this.$data.generalDialogText = 'Il coderbot risulta offline, non puoi eseguire il programma.'
535541
}
536542
},
543+
runProgramLegacy() {
544+
if (this.$data.status) {
545+
let axios = this.$axios
546+
let CB = this.$data.CB
547+
let qs = this.$qs
548+
549+
// POST /program/save
550+
var xml_code = Blockly.Xml.workspaceToDom(this.$data.workspace);
551+
var dom_code = Blockly.Xml.domToText(xml_code);
552+
window.LoopTrap = 1000;
553+
Blockly.Python.INFINITE_LOOP_TRAP = ' get_prog_eng().check_end()\n';
554+
var code = Blockly.Python.workspaceToCode(this.$data.workspace);
555+
Blockly.Python.INFINITE_LOOP_TRAP = null;
556+
557+
var valuesAsString = qs.stringify({
558+
'name': 'Hello, World!',
559+
'dom_code': dom_code,
560+
'code': code,
561+
})
562+
563+
axios.post(this.$data.CBv1 + '/program/exec', valuesAsString)
564+
.then(function(response) {
565+
console.log(response)
566+
})
567+
568+
}
569+
},
537570
blocksExtensions(settings) {
538571
var settings = this.$data.settings
539572
var cfg = Object();
540-
573+
541574
// coderbot.cfg data (temp workaround, must be fetched from backend)
542575
var CODERBOT_MOV_FW_DEF_SPEED = settings.move_fw_elapse;
543576
var CODERBOT_MOV_FW_DEF_ELAPSE = settings.move_fw_speed; // to check
544-
var CODERBOT_MOV_TR_DEF_SPEED = settings.move_tr_speed;
577+
var CODERBOT_MOV_TR_DEF_SPEED = settings.move_tr_speed;
545578
var CODERBOT_MOV_TR_DEF_ELAPSE = settings.move_tr_elapse; // to check
546579
var CODERBOT_PROG_MOVE_MOTION = true; // to check
547580
var CODERBOT_PROG_MOVE_MPU = true; // to check
@@ -577,7 +610,7 @@ export default {
577610
BotMessages.ColorAtPoint = "Color at point: ";
578611
BotMessages.ModelTraining = "Model is training, check model lists to monitor training status.";
579612
580-
613+
581614
// blocks.js
582615
// Extensions to Blockly's language and Python generator.
583616
@@ -587,7 +620,7 @@ export default {
587620
*/
588621
589622
590-
623+
591624
592625
Blockly.HSV_SATURATION = .99;
593626
Blockly.HSV_VALUE = .99;
@@ -609,7 +642,7 @@ export default {
609642
* @this Blockly.Block
610643
*/
611644
init: function(self) {
612-
645+
613646
this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL);
614647
this.setColour(120);
615648
var di = this.appendDummyInput();

0 commit comments

Comments
 (0)