From 2cb680042cc932cc84aee3193eb5687a8745f394 Mon Sep 17 00:00:00 2001 From: Sean Robinson Date: Sat, 5 Apr 2014 11:26:43 -0700 Subject: [PATCH] Use copy_configuration and ConfigManager.update for preferences editing Signed-off-by: Sean Robinson --- wifiradar/__init__.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/wifiradar/__init__.py b/wifiradar/__init__.py index da355d4..0dd32f5 100644 --- a/wifiradar/__init__.py +++ b/wifiradar/__init__.py @@ -41,7 +41,8 @@ import logging from multiprocessing import Pipe, Process from threading import Thread -from wifiradar.config import ConfigManager, make_section_name +from wifiradar.config import (copy_configuration, make_section_name, + ConfigManager) from wifiradar.connections import ConnectionManager, scanner from wifiradar.pubsub import Dispatcher, Message import wifiradar.misc as misc @@ -208,18 +209,13 @@ class Main(object): def _preferences_edit_request(self): """ Pass a :class:`ConfigManager` to the UI for editing. """ - config_copy = ConfigManager(self.config.defaults()) - for section in set(self.config.sections()) - set(self.config.profiles()): - config_copy.set_section(section, dict(self.config.items(section))) + config_copy = copy_configuration(self.config) self.msg_pipe.send(Message('PREFS-EDIT', config_copy)) def _preferences_update(self, config): """ Update configuration with :data:`config`. """ - self.config.raw = True - for section in chain(['DEFAULT'], self.config.sections()): - self.config.set_section(section, dict(self.config.items(section))) - self.config.raw = False + self.config.update(config) try: self.config.write() except IOError as e: -- 2.11.4.GIT