Skip to content

Commit a6eec09

Browse files
committed
fix program status and log with v2
1 parent 0cefff7 commit a6eec09

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

main.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
babel = Babel(app)
5858
app.debug = False
5959
app.prog_engine = ProgramEngine.get_instance()
60-
app.prog = None
6160
app.shutdown_requested = False
6261

6362

@@ -338,8 +337,8 @@ def handle_program_load():
338337
"""
339338
logging.debug("program_load")
340339
name = request.args.get('name')
341-
app.prog = app.prog_engine.load(name)
342-
return jsonify(app.prog.as_dict())
340+
prog = app.prog_engine.load(name)
341+
return jsonify(prog.as_dict())
343342

344343
@app.route("/program/save", methods=["POST"])
345344
def handle_program_save():
@@ -372,18 +371,18 @@ def handle_program_exec():
372371
logging.debug("program_exec")
373372
name = request.form.get('name')
374373
code = request.form.get('code')
375-
app.prog = app.prog_engine.create(name, code)
376-
return json.dumps(app.prog.execute())
374+
prog = app.prog_engine.create(name, code)
375+
return json.dumps(prog.execute())
377376

378377
@app.route("/program/end", methods=["POST"])
379378
def handle_program_end():
380379
"""
381380
Stop the program execution
382381
"""
383382
logging.debug("program_end")
384-
if app.prog:
385-
app.prog.end()
386-
app.prog = None
383+
prog = app.prog_engine.get_current_program()
384+
if prog:
385+
prog.end()
387386
return "ok"
388387

389388
@app.route("/program/status", methods=["GET"])
@@ -392,9 +391,9 @@ def handle_program_status():
392391
Expose the program status
393392
"""
394393
logging.debug("program_status")
395-
prog = Program("")
396-
if app.prog:
397-
prog = app.prog
394+
prog = app.prog_engine.get_current_program()
395+
if prog is None:
396+
prog = Program("")
398397
return json.dumps({'name': prog.name, "running": prog.is_running(), "log": app.prog_engine.get_log()})
399398

400399
@app.route("/cnnmodels", methods=["GET"])
@@ -451,10 +450,11 @@ def execute(command):
451450

452451
def button_pushed():
453452
if app.bot_config.get('button_func') == "startstop":
454-
if app.prog and app.prog.is_running():
455-
app.prog.end()
456-
elif app.prog and not app.prog.is_running():
457-
app.prog.execute()
453+
prog = app.prog_engine.get_current_prog()
454+
if prog and prog.is_running():
455+
prog.end()
456+
elif prog and not prog.is_running():
457+
prog.execute()
458458

459459
def remove_doreset_file():
460460
try:
@@ -487,8 +487,8 @@ def run_server():
487487
EventManager.get_instance("coderbot")
488488

489489
if app.bot_config.get('load_at_start') and app.bot_config.get('load_at_start'):
490-
app.prog = app.prog_engine.load(app.bot_config.get('load_at_start'))
491-
app.prog.execute()
490+
prog = app.prog_engine.load(app.bot_config.get('load_at_start'))
491+
prog.execute()
492492
except ValueError as e:
493493
app.bot_config = {}
494494
logging.error(e)

program.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,12 @@ def log(self, text):
140140
def get_log(self):
141141
return self._log
142142

143+
def set_log(self, log):
144+
self._log = ""
145+
146+
def get_current_program(self):
147+
return self._program
148+
143149
class Program:
144150
_running = False
145151

@@ -158,6 +164,7 @@ def execute(self, options={}):
158164
if self._running:
159165
raise RuntimeError('already running')
160166

167+
ProgramEngine.get_instance().set_log("")
161168
self._running = True
162169
try:
163170
self._thread = threading.Thread(target=self.run, args=(options,))

0 commit comments

Comments
 (0)