@@ -183,9 +183,11 @@ def handle_wifi():
183
183
else :
184
184
return "http://coderbot.local"
185
185
186
- # Execute single command
187
186
@app .route ("/bot" , methods = ["GET" ])
188
187
def handle_bot ():
188
+ """
189
+ Execute a bot command
190
+ """
189
191
cmd = request .args .get ('cmd' )
190
192
param1 = request .args .get ('param1' )
191
193
param2 = request .args .get ('param2' )
@@ -267,9 +269,11 @@ def handle_video_stream():
267
269
except :
268
270
pass
269
271
270
- # Photos
271
272
@app .route ("/photos" , methods = ["GET" ])
272
273
def handle_photos ():
274
+ """
275
+ Expose the list of taken photos
276
+ """
273
277
logging .info ("photos" )
274
278
return json .dumps (cam .get_photo_list ())
275
279
@@ -297,23 +301,29 @@ def handle_photo_cmd(filename):
297
301
cam .delete_photo (filename )
298
302
return "ok"
299
303
300
- # Programs list
301
304
@app .route ("/program/list" , methods = ["GET" ])
302
305
def handle_program_list ():
306
+ """
307
+ Expose the list of saved programs
308
+ """
303
309
logging .debug ("program_list" )
304
310
return json .dumps (app .prog_engine .prog_list ())
305
311
306
- # Get saved program as JSON
307
312
@app .route ("/program/load" , methods = ["GET" ])
308
313
def handle_program_load ():
314
+ """
315
+ Expose a saved program as JSON
316
+ """
309
317
logging .debug ("program_load" )
310
318
name = request .args .get ('name' )
311
319
app .prog = app .prog_engine .load (name )
312
320
return jsonify (app .prog .as_json ())
313
321
314
- # Save new program
315
322
@app .route ("/program/save" , methods = ["POST" ])
316
323
def handle_program_save ():
324
+ """
325
+ Save the given program
326
+ """
317
327
logging .debug ("program_save" )
318
328
name = request .form .get ('name' )
319
329
dom_code = request .form .get ('dom_code' )
@@ -322,35 +332,43 @@ def handle_program_save():
322
332
app .prog_engine .save (prog )
323
333
return "ok"
324
334
325
- # Delete saved program
326
335
@app .route ("/program/delete" , methods = ["POST" ])
327
336
def handle_program_delete ():
337
+ """
338
+ Delete the given saved program
339
+ """
328
340
logging .debug ("program_delete" )
329
341
name = request .form .get ('name' )
330
342
app .prog_engine .delete (name )
331
343
return "ok"
332
344
333
- # Execute the given code
334
345
@app .route ("/program/exec" , methods = ["POST" ])
335
346
def handle_program_exec ():
347
+ """
348
+ Execute the given program
349
+ """
336
350
logging .debug ("program_exec" )
337
351
name = request .form .get ('name' )
338
352
code = request .form .get ('code' )
339
353
app .prog = app .prog_engine .create (name , code )
340
354
return json .dumps (app .prog .execute ())
341
355
342
- # Stop the execution
343
356
@app .route ("/program/end" , methods = ["POST" ])
344
357
def handle_program_end ():
358
+ """
359
+ Stop the program execution
360
+ """
345
361
logging .debug ("program_end" )
346
362
if app .prog :
347
363
app .prog .end ()
348
364
app .prog = None
349
365
return "ok"
350
366
351
- # Program status
352
367
@app .route ("/program/status" , methods = ["GET" ])
353
368
def handle_program_status ():
369
+ """
370
+ Expose the program status
371
+ """
354
372
logging .debug ("program_status" )
355
373
prog = Program ("" )
356
374
if app .prog :
@@ -391,9 +409,12 @@ def handle_cnn_models_delete(model_name):
391
409
392
410
# Spawn a sub-process and execute things there
393
411
def execute (command ):
412
+ """
413
+ Spawn a sub-process and execute the program there, then poll it until
414
+ it has finished
415
+ """
394
416
process = subprocess .Popen (command , shell = True , stdout = subprocess .PIPE , stderr = subprocess .STDOUT )
395
417
396
- # Poll process for new output until finished
397
418
while True :
398
419
nextline = process .stdout .readline ()
399
420
if nextline == '' and process .poll () != None :
0 commit comments