]> www.vanbest.org Git - motioneye-debian/commitdiff
got rid of connection closed, request closed & co. errors
authorCalin Crisan <ccrisan@gmail.com>
Sat, 12 Oct 2013 17:02:12 +0000 (20:02 +0300)
committerCalin Crisan <ccrisan@gmail.com>
Sat, 12 Oct 2013 17:02:12 +0000 (20:02 +0300)
doc/todo.txt
src/config.py
src/handlers.py
src/mjpgclient.py
static/js/main.js

index e5c0277452f519843764b16e2627cf1b10eff318..ccb284cef7c63d54b9dedcffd2e02591fae29b97 100644 (file)
@@ -1,6 +1,4 @@
 
--> prevent Request closed errors by stopping mjpg clients before stopping motion
-
 -> style scroll bars
 -> hint text next to section titles
 -> clickable hints
index 88051643107cdadf76dcf7bb701501c1b7c12384..d1db8e215dfde9acbe2536eaba42ad220804c0c9 100644 (file)
@@ -233,8 +233,7 @@ def set_camera(camera_id, data):
     
         main_config['thread'] = threads
         
-        if '@id' in data:
-            del data['@id']
+        data['@id'] = camera_id
         
         set_main(main_config)
 
index 9c757f2edb6002f982bfef0eca2a36c6920bdb41..04c959fa421ec11d1f63955762fa8166766e9070 100644 (file)
@@ -232,7 +232,10 @@ class ConfigHandler(BaseHandler):
                             ui_config)
                     
                 except Exception as e:
-                    return self.finish_json({'error': unicode(e)})       
+                    logging.error('failed to set remote camera config: %(msg)s' % {'msg': unicode(e)})
+                    
+                    if not no_finish:
+                        return self.finish_json({'error': unicode(e)})       
 
         else:
             logging.debug('setting main config')
@@ -242,7 +245,8 @@ class ConfigHandler(BaseHandler):
 
         motionctl.restart()
         
-        self.finish_json()
+        if not no_finish:
+            self.finish_json()
 
     @BaseHandler.auth(admin=True)
     def set_preview(self, camera_id):
@@ -753,7 +757,7 @@ class ConfigHandler(BaseHandler):
 
 
 class SnapshotHandler(BaseHandler):
-    @asynchronous
+    #@asynchronous TODO don't forget about me
     def get(self, camera_id, op, filename=None):
         if camera_id is not None:
             camera_id = int(camera_id)
index b0ac554dc856ecdd62de82ef1ae3c3ee3d614a7a..e8af7a3a34dcdec73428de0a6f3457280f587367 100644 (file)
@@ -113,8 +113,6 @@ def get_jpg(camera_id):
         client = MjpgClient(camera_id, port)
         client.connect()
         
-        return None
-
     return MjpgClient.last_jpgs.get(camera_id)
 
 
index 8d61223d65f35162ba5f835db1ebf4b641f51de5..4de18ceb25221087956530a2222b0267f9b96721 100644 (file)
@@ -1261,6 +1261,14 @@ function doCloseCamera(cameraId) {
 }
 
 function refreshCameraFrames() {
+    if (isProgress()) {
+        /* no camera refreshing while in progress */
+        
+        setTimeout(refreshCameraFrames, 1000);
+
+        return;
+    }
+    
     function refreshCameraFrame(cameraId, img) {
         img.src = '/snapshot/' + cameraId + '/current/?_=' + new Date().getTime();
     }