Skip to content

Commit 6f18c69

Browse files
committed
wip #71
1 parent 6913141 commit 6f18c69

15 files changed

+10744
-196
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
photos/*.jpg
3737
photos/*.mp4
3838
photos/*.h264
39+
photos/*.json
3940

4041
# Sounds recorded
4142
sounds/*.wav

data/program_no_name.data

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"dom_code": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"></xml>", "code": "", "name": "no_name"}
1+
{"dom_code": "", "code": "get_cam().set_text(\"pluto\")", "name": "no_name"}

event.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ def get_instance(cls, node_name=None):
1414

1515
def __init__(self, node_name):
1616
self._node_name = node_name
17-
rospy.init_node(node_name, disable_signals=True)
17+
rospy.init_node(node_name, anonymous=True, disable_signals=True)
1818
self._publishers = {}
1919
self._event_generators = []
2020
self._event_listeners = []
2121

2222
def publish(self, topic, message):
2323
publisher = self._publishers.get(topic)
2424
if publisher is None:
25-
publisher = rospy.Publisher("/" + self._node_name + "/" + topic, std_msgs.msg.String, queue_size=10)
25+
publisher = rospy.Publisher("/" + topic, std_msgs.msg.String, queue_size=10)
2626
self._publishers[topic] = publisher
2727
publisher.publish(json.dumps(message))
2828

2929
def register_event_listener(self, topic, callback):
30-
self._event_listeners.append(rospy.Subscriber("/" + self._node_name + "/" + topic, std_msgs.msg.String, callback))
30+
self._event_listeners.append(rospy.Subscriber("/" + topic, std_msgs.msg.String, callback))
3131

3232
def register_event_generator(self, generator_func):
3333
generator = threading.Thread(target=generator_func)

main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ def handle_program_load():
251251
logging.debug("program_load")
252252
name = request.args.get('name')
253253
app.prog = app.prog_engine.load(name)
254-
return app.prog.dom_code
254+
return jsonify(app.prog.as_json())
255255

256256
@app.route("/program/save", methods=["POST"])
257257
def handle_program_save():
@@ -292,7 +292,7 @@ def handle_program_status():
292292
prog = Program("")
293293
if app.prog:
294294
prog = app.prog
295-
return json.dumps({'name': prog.name, "running": prog.is_running()})
295+
return json.dumps({'name': prog.name, "running": prog.is_running(), "log": prog.get_log()})
296296

297297
@app.route("/cnnmodels", methods=["GET"])
298298
def handle_cnn_models_list():

photos/metadata.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

program.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ def __init__(self, name, code=None, dom_code=None):
118118
self.name = name
119119
self._dom_code = dom_code
120120
self._code = code
121+
self._log = ""
121122

122123
def execute(self):
123124
if self._running:
@@ -147,6 +148,12 @@ def check_end(self):
147148
raise RuntimeError('end requested')
148149
return None
149150

151+
def log(self, text):
152+
self._log += text + "\n"
153+
154+
def get_log(self):
155+
return self._log
156+
150157
def is_running(self):
151158
return self._running
152159

@@ -168,9 +175,10 @@ def run(self):
168175
get_event().wait_event_generators()
169176
except RuntimeError as re:
170177
logging.info("quit: " + str(re))
178+
self.log(str(re))
171179
except Exception as e:
172180
logging.info("quit: " + str(e))
173-
181+
self.log(str(e))
174182
finally:
175183
try:
176184
get_cam().video_stop() #if video is running, stop it

0 commit comments

Comments
 (0)