diff src/memory/memory.py @ 1064:7ee9d9db67b9

memory, tools (config): move special config retrieval from memory to tools
author souliane <souliane@mailoo.org>
date Mon, 09 Jun 2014 20:40:13 +0200
parents a874a79ad0f5
children 594fbdda4a87
line wrap: on
line diff
--- a/src/memory/memory.py	Sat Jun 07 15:39:20 2014 +0200
+++ b/src/memory/memory.py	Mon Jun 09 20:40:13 2014 +0200
@@ -20,7 +20,6 @@
 from sat.core.i18n import _
 
 import os.path
-import csv
 from ConfigParser import SafeConfigParser, NoOptionError, NoSectionError
 from uuid import uuid4
 from sat.core.log import getLogger
@@ -34,7 +33,7 @@
 from sat.memory.params import Params
 from sat.memory.disco import Discovery
 from sat.memory.crypto import BlockCipher
-from sat.tools.config import fixConfigOption
+from sat.tools import config as tools_config
 
 
 class Sessions(object):
@@ -180,7 +179,7 @@
     if os.path.isfile(os.path.expanduser(old_default) + '/' + C.SAVEFILE_DATABASE):
         if not silent:
             log.warning(_("A database has been found in the default local_dir for previous versions (< 0.5)"))
-        fixConfigOption('', 'local_dir', old_default, silent)
+        tools_config.fixConfigOption('', 'local_dir', old_default, silent)
 
 
 class Memory(object):
@@ -222,22 +221,7 @@
         @param section: section of the config file (None or '' for DEFAULT)
         @param name: name of the option
         """
-        if not section:
-            section = 'DEFAULT'
-        try:
-            value = self.config.get(section, name)
-        except (NoOptionError, NoSectionError):
-            value = ''
-
-        if name.endswith('_path') or name.endswith('_dir'):
-            value = os.path.expanduser(value)
-        # thx to Brian (http://stackoverflow.com/questions/186857/splitting-a-semicolon-separated-string-to-a-dictionary-in-python/186873#186873)
-        elif name.endswith('_list'):
-            value = csv.reader([value], delimiter=',', quotechar='"').next()
-        elif name.endswith('_dict'):
-            value = dict(csv.reader([item], delimiter=':', quotechar='"').next()
-                         for item in csv.reader([value], delimiter=',', quotechar='"').next())
-        return value
+        return tools_config.getConfig(self.config, section, name, default='')
 
     def load_xml(self, filename):
         """Load parameters template from xml file