summaryrefslogtreecommitdiff
path: root/grc/core/Config.py
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2016-09-18 16:57:41 -0600
committerSebastian Koslowski <koslowski@kit.edu>2016-09-19 04:17:40 -0600
commit577cd09c42a02c7824bbd6f6c3a76c53dc114658 (patch)
treeb3ba3ec976452e79b03ad7dd376484d2e5b2f8a1 /grc/core/Config.py
parent824017be176e46655215c7bbfe3a4d0adff8aed4 (diff)
grc: refactor: make gr.prefs() optional (for testing)
Diffstat (limited to 'grc/core/Config.py')
-rw-r--r--grc/core/Config.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/grc/core/Config.py b/grc/core/Config.py
index b65a421b7a..3455a382c1 100644
--- a/grc/core/Config.py
+++ b/grc/core/Config.py
@@ -18,6 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
from __future__ import absolute_import
+
import os
from os.path import expanduser, normpath, expandvars, exists
@@ -25,16 +26,14 @@ from . import Constants
class Config(object):
-
- key = 'grc'
name = 'GNU Radio Companion (no gui)'
license = __doc__.strip()
website = 'http://gnuradio.org'
hier_block_lib_dir = os.environ.get('GRC_HIER_PATH', Constants.DEFAULT_HIER_BLOCK_LIB_DIR)
- def __init__(self, prefs_file, version, version_parts=None):
- self.prefs = prefs_file
+ def __init__(self, version, version_parts=None, prefs=None):
+ self._gr_prefs = prefs if prefs else DummyPrefs()
self.version = version
self.version_parts = version_parts or version[1:].split('-', 1)[0].split('.')[:3]
@@ -45,8 +44,8 @@ class Config(object):
paths_sources = (
self.hier_block_lib_dir,
os.environ.get('GRC_BLOCKS_PATH', ''),
- self.prefs.get_string('grc', 'local_blocks_path', ''),
- self.prefs.get_string('grc', 'global_blocks_path', ''),
+ self._gr_prefs.get_string('grc', 'local_blocks_path', ''),
+ self._gr_prefs.get_string('grc', 'global_blocks_path', ''),
)
collected_paths = sum((paths.split(path_list_sep)
@@ -61,7 +60,22 @@ class Config(object):
def default_flow_graph(self):
user_default = (
os.environ.get('GRC_DEFAULT_FLOW_GRAPH') or
- self.prefs.get_string('grc', 'default_flow_graph', '') or
+ self._gr_prefs.get_string('grc', 'default_flow_graph', '') or
os.path.join(self.hier_block_lib_dir, 'default_flow_graph.grc')
)
return user_default if exists(user_default) else Constants.DEFAULT_FLOW_GRAPH
+
+
+class DummyPrefs(object):
+
+ def get_string(self, category, item, default):
+ return str(default)
+
+ def set_string(self, category, item, value):
+ pass
+
+ def get_long(self, category, item, default):
+ return int(default)
+
+ def save(self):
+ pass