summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2014-04-09 17:41:52 +0200
committerSebastian Koslowski <koslowski@kit.edu>2014-04-09 17:45:09 +0200
commit14625c6ed115af2206e379bc92ad2adf96f6cff9 (patch)
treee03b545996c076e9c267e070379e4a8cf2884637
parent0b69cb314c4e63dc82bd971551cb2cdbae12a302 (diff)
grc: nicer output of blocks paths and prefs file
-rw-r--r--grc/base/Platform.py1
-rw-r--r--grc/gui/Messages.py11
-rw-r--r--grc/gui/Platform.py7
-rw-r--r--grc/gui/Preferences.py7
-rw-r--r--grc/python/Constants.py5
-rw-r--r--grc/python/Platform.py27
6 files changed, 33 insertions, 25 deletions
diff --git a/grc/base/Platform.py b/grc/base/Platform.py
index 3ff80e8a03..187a50c01c 100644
--- a/grc/base/Platform.py
+++ b/grc/base/Platform.py
@@ -196,6 +196,7 @@ class Platform(_Element):
def get_license(self): return self._license
def get_website(self): return self._website
def get_colors(self): return self._colors
+ def get_block_paths(self): return self._block_paths
##############################################
# Constructors
diff --git a/grc/gui/Messages.py b/grc/gui/Messages.py
index c4706459af..2bf488bb58 100644
--- a/grc/gui/Messages.py
+++ b/grc/gui/Messages.py
@@ -48,7 +48,16 @@ register_messenger(sys.stdout.write)
# Special functions for specific program functionalities
###########################################################################
def send_init(platform):
- send("""<<< Welcome to %s %s >>>\n"""%(platform.get_name(), platform.get_version()))
+ p = platform
+ send('\n'.join([
+ "<<< Welcome to %s %s >>>" % (p.get_name(), p.get_version()),
+ "",
+ "Preferences file: " + p.get_prefs_file(),
+ "Block paths:"
+ ] + [
+ "\t%s" % path + (" (%s)" % opath if opath != path else "")
+ for path, opath in p.get_block_paths().iteritems()
+ ]) + "\n")
def send_page_switch(file_path):
send('\nShowing: "%s"\n'%file_path)
diff --git a/grc/gui/Platform.py b/grc/gui/Platform.py
index 6a8175b9fa..db77ff2112 100644
--- a/grc/gui/Platform.py
+++ b/grc/gui/Platform.py
@@ -20,4 +20,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
from Element import Element
class Platform(Element):
- def __init__(self): Element.__init__(self)
+ def __init__(self, prefs_file):
+ Element.__init__(self)
+
+ self._prefs_file = prefs_file
+
+ def get_prefs_file(self): return self._prefs_file \ No newline at end of file
diff --git a/grc/gui/Preferences.py b/grc/gui/Preferences.py
index 061bda9c05..b15fb9738b 100644
--- a/grc/gui/Preferences.py
+++ b/grc/gui/Preferences.py
@@ -24,7 +24,6 @@ _platform = None
_config_parser = ConfigParser.ConfigParser()
def file_extension(): return '.'+_platform.get_key()
-def _prefs_file(): return os.environ.get('GRC_PREFS_PATH', os.path.join(os.path.expanduser('~'), file_extension()))
def load(platform):
global _platform
@@ -32,12 +31,10 @@ def load(platform):
#create sections
_config_parser.add_section('main')
_config_parser.add_section('files_open')
- print "Reading preferences from:", _prefs_file()
- try: _config_parser.read(_prefs_file())
+ try: _config_parser.read(_platform.get_prefs_file())
except: pass
def save():
- print "Writing preferences to:", _prefs_file()
- try: _config_parser.write(open(_prefs_file(), 'w'))
+ try: _config_parser.write(open(_platform.get_prefs_file(), 'w'))
except: pass
###########################################################################
diff --git a/grc/python/Constants.py b/grc/python/Constants.py
index 9f27589b52..79ff8bab35 100644
--- a/grc/python/Constants.py
+++ b/grc/python/Constants.py
@@ -25,7 +25,10 @@ _gr_prefs = gr.prefs()
#setup paths
PATH_SEP = {'/':':', '\\':';'}[os.path.sep]
-HIER_BLOCKS_LIB_DIR = os.path.join(os.path.expanduser('~'), os.environ.get('GRC_HIER_PATH', '.grc_gnuradio'))
+HIER_BLOCKS_LIB_DIR = os.environ.get('GRC_HIER_PATH',
+ os.path.expanduser('~/.grc_gnuradio'))
+PREFS_FILE = os.environ.get('GRC_PREFS_PATH',
+ os.path.join(os.path.expanduser('~/.grc')))
BLOCKS_DIRS = filter( #filter blank strings
lambda x: x, PATH_SEP.join([
os.environ.get('GRC_BLOCKS_PATH', ''),
diff --git a/grc/python/Platform.py b/grc/python/Platform.py
index 7e5ad81808..f4f55e9d16 100644
--- a/grc/python/Platform.py
+++ b/grc/python/Platform.py
@@ -30,7 +30,7 @@ from Param import Param as _Param
from Generator import Generator
from Constants import \
HIER_BLOCKS_LIB_DIR, BLOCK_DTD, \
- DEFAULT_FLOW_GRAPH, BLOCKS_DIRS
+ DEFAULT_FLOW_GRAPH, BLOCKS_DIRS, PREFS_FILE
import Constants
COLORS = [(name, color) for name, key, sizeof, color in Constants.CORE_TYPES]
@@ -43,21 +43,10 @@ class Platform(_Platform, _GUIPlatform):
"""
#ensure hier dir
if not os.path.exists(HIER_BLOCKS_LIB_DIR): os.mkdir(HIER_BLOCKS_LIB_DIR)
- #convert block paths to absolute paths
- # Create a mapping from the absolute path to what was passed in
- user_to_abs_path = map(lambda x: (os.path.abspath(x), x), BLOCKS_DIRS)
- # Keep each unique absolute path and maintain order
- paths_dict = OrderedDict(user_to_abs_path)
- # Prepare the ordered, unique absolute path list for _Platform
- block_paths = paths_dict.keys()
- # Print out the paths that are used (differently, depending on whether they
- # were transformed from their original state)
- print "Block paths:"
- for p in block_paths:
- if p != paths_dict[p]:
- print "\t%s (%s)" % (paths_dict[p], p)
- else:
- print "\t%s" % (p)
+ # Convert block paths to absolute paths:
+ # - Create a mapping from the absolute path to what was passed in
+ # - Keep each unique absolute path and maintain order
+ block_paths = OrderedDict(map(lambda x: (os.path.abspath(x), x), BLOCKS_DIRS))
#init
_Platform.__init__(
self,
@@ -72,7 +61,11 @@ class Platform(_Platform, _GUIPlatform):
generator=Generator,
colors=COLORS,
)
- _GUIPlatform.__init__(self)
+
+ _GUIPlatform.__init__(
+ self,
+ prefs_file=PREFS_FILE
+ )
##############################################
# Constructors