]> www.vanbest.org Git - motioneye-debian/commitdiff
fixed issues with numeric usernames and passwords
authorCalin Crisan <ccrisan@gmail.com>
Wed, 7 Jan 2015 19:21:16 +0000 (21:21 +0200)
committerCalin Crisan <ccrisan@gmail.com>
Wed, 7 Jan 2015 19:21:16 +0000 (21:21 +0200)
src/config.py
src/handlers.py

index 48e2d649adf8cb71801b01d3bf4043d0cf099d18..09215a64e5cd25f47563292174425b991937f051 100644 (file)
@@ -86,7 +86,9 @@ def get_main(as_lines=False):
     if as_lines:
         return lines
     
-    main_config = _conf_to_dict(lines, list_names=['thread'])
+    main_config = _conf_to_dict(lines,
+            list_names=['thread'],
+            no_convert=['@admin_username', '@admin_password', '@normal_username', '@normal_password'])
     
     if settings.WPA_SUPPLICANT_CONF:
         _get_wifi_settings(main_config)
@@ -251,7 +253,9 @@ def get_camera(camera_id, as_lines=False):
     if as_lines:
         return lines
         
-    camera_config = _conf_to_dict(lines)
+    camera_config = _conf_to_dict(lines,
+            no_convert=['@name', '@network_share_name', '@network_server',
+                        '@network_username', '@network_password', '@storage_device'])
     
     if utils.local_camera(camera_config):
         # determine the enabled status
@@ -1096,7 +1100,7 @@ def _python_to_value(value):
         return value
 
 
-def _conf_to_dict(lines, list_names=[]):
+def _conf_to_dict(lines, list_names=[], no_convert=[]):
     data = OrderedDict()
     
     for line in lines:
@@ -1124,7 +1128,8 @@ def _conf_to_dict(lines, list_names=[]):
             (name, value) = parts
             value = value.strip()
         
-        value = _value_to_python(value)
+        if name not in no_convert:
+            value = _value_to_python(value)
         
         if name in list_names:
             data.setdefault(name, []).append(value)
index af8ecbfa7eb39a991b9f54d8e9ccc309810af640..9af89f32fb7423bcd7d0d4eade997a697bb52c22 100644 (file)
@@ -286,11 +286,11 @@ class ConfigHandler(BaseHandler):
             logging.debug('setting main config...')
             
             old_main_config = config.get_main()
-            old_admin_credentials = old_main_config.get('@admin_username', '') + ':' + old_main_config.get('@admin_password', '')
+            old_admin_credentials = '%s:%s' % (old_main_config.get('@admin_username', ''), old_main_config.get('@admin_password', ''))
             
             main_config = config.main_ui_to_dict(ui_config)
             main_config.setdefault('thread', old_main_config.get('thread', [])) 
-            admin_credentials = main_config.get('@admin_username', '') + ':' + main_config.get('@admin_password', '')
+            admin_credentials = '%s:%s' % (main_config.get('@admin_username', ''), main_config.get('@admin_password', ''))
             
             wifi_changed = bool([k for k in ['@wifi_enabled', '@wifi_name', '@wifi_key'] if old_main_config.get(k) != main_config.get(k)])