4343from werkzeug .datastructures import Headers
4444#from flask_sockets import Sockets
4545
46- logger = logging .getLogger (__name__ )
47- logger .setLevel (logging .INFO )
46+ logger = logging .getLogger ()
47+ logger .setLevel (logging .DEBUG )
4848
49+ sh = logging .StreamHandler ()
4950# add a rotating handler
50- handler = logging .handlers .RotatingFileHandler ('logs/coderbot.log' , maxBytes = 1000000 , backupCount = 5 )
51- logger .addHandler (handler )
51+ fh = logging .handlers .RotatingFileHandler ('/home/pi/coderbot/logs/coderbot.log' , maxBytes = 1000000 , backupCount = 5 )
52+ formatter = logging .Formatter ('%(asctime)s - %(name)s - %(levelname)s - %(message)s' )
53+ sh .setFormatter (formatter )
54+ fh .setFormatter (formatter )
55+
56+ logger .addHandler (sh )
57+ logger .addHandler (fh )
5258
5359bot = None
5460cam = None
@@ -176,8 +182,9 @@ def video_stream(cam):
176182 frame = cam .get_image_jpeg ()
177183 yield ("--BOUNDARYSTRING\r \n " +
178184 "Content-type: image/jpeg\r \n " +
179- "Content-Length: " + str (len (frame )) + "\r \n \r \n " +
180- frame + "\r \n " )
185+ "Content-Length: " + str (len (frame )) + "\r \n \r \n " )
186+ yield (frame )
187+ yield ("\r \n " )
181188
182189@app .route ("/video" )
183190def handle_video ():
@@ -231,21 +238,20 @@ def handle_photos():
231238
232239@app .route ("/photos/<filename>" , methods = ["GET" ])
233240def handle_photo_get (filename ):
234- logging .info ("photo" )
235- mimetype = {'jpeg ' : 'image/jpeg' , 'h264 ' : 'video/mp4' }
241+ logging .info ("media filename: " + filename )
242+ mimetype = {'jpg ' : 'image/jpeg' , 'mp4 ' : 'video/mp4' }
236243 video = None
237244 try :
238- video = cam .get_photo_file (filename )
245+ media_file = cam .get_photo_file (filename )
239246 except picamera .exc .PiCameraError :
240247 pass
241248
242- return send_file (video , mimetype .get (filename [:- 3 ],'image' ), cache_timeout = 0 )
249+ return send_file (media_file , mimetype = mimetype .get (filename [:- 3 ], 'image/jpeg ' ), cache_timeout = 0 )
243250
244251@app .route ("/photos/<filename>" , methods = ["PUT" ])
245252def handle_photo_put (filename ):
246253 logging .info ("photo update" )
247- data = request .get_data ()
248- logging .info (data );
254+ data = request .get_data (as_text = True )
249255 data = json .loads (data )
250256 cam .update_photo ({"name" : filename , "tag" :data ["tag" ]});
251257 return jsonify ({"res" :"ok" })
@@ -256,15 +262,10 @@ def handle_photo_cmd(filename):
256262 cam .delete_photo (filename )
257263 return "ok"
258264
259- @app .route ("/photos/<filename>/thumb" , methods = ["GET" ])
260- def handle_photo_thumb (filename ):
261- logging .debug ("photo_thumb" )
262- return send_file (cam .get_photo_thumb_file (filename ))
263-
264265@app .route ("/program/list" , methods = ["GET" ])
265266def handle_program_list ():
266267 logging .debug ("program_list" )
267- return json .dumps (app .prog_engine .list ())
268+ return json .dumps (app .prog_engine .prog_list ())
268269
269270@app .route ("/program/load" , methods = ["GET" ])
270271def handle_program_load ():
@@ -322,7 +323,7 @@ def handle_cnn_models_list():
322323@app .route ("/cnnmodels" , methods = ["POST" ])
323324def handle_cnn_models_new ():
324325 logging .info ("cnn_models_new" )
325- data = json .loads (request .get_data ())
326+ data = json .loads (request .get_data (as_text = True ))
326327 cnn .train_new_model (model_name = data ["model_name" ],
327328 architecture = data ["architecture" ],
328329 image_tags = data ["image_tags" ],
@@ -395,7 +396,7 @@ def run_server():
395396 logging .error (e )
396397
397398 bot .set_callback (PIN_PUSHBUTTON , button_pushed , 100 )
398- app .run (host = "0.0.0.0" , port = 8080 , debug = False , use_reloader = False , threaded = True )
399+ app .run (host = "0.0.0.0" , port = 8080 , debug = True , use_reloader = False , threaded = True )
399400 finally :
400401 if cam :
401402 cam .exit ()
0 commit comments