[GRASS-SVN] r63638 - in grass/branches/releasebranch_7_0: . gui/wxpython/lmgr
svn_grass at osgeo.org
svn_grass at osgeo.org
Fri Dec 19 21:14:25 PST 2014
Author: wenzeslaus
Date: 2014-12-19 21:14:25 -0800 (Fri, 19 Dec 2014)
New Revision: 63638
Modified:
grass/branches/releasebranch_7_0/
grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py
Log:
wxGUI/lmgr: expand tilde for cd and hanle errors (backport of r62190, #2152)
Property changes on: grass/branches/releasebranch_7_0
___________________________________________________________________
Modified: svn:mergeinfo
- /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,63076,
63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63362,63367,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63616,63624,63626,63628,63630,63634
+ /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62190,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,
63076,63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63362,63367,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63616,63624,63626,63628,63630,63634
Modified: grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py 2014-12-20 05:05:23 UTC (rev 63637)
+++ grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py 2014-12-20 05:14:25 UTC (rev 63638)
@@ -205,6 +205,7 @@
except:
pass
else:
+ # does center (of screen) make sense for lmgr?
self.Centre()
self.Layout()
@@ -966,8 +967,12 @@
:param cmd: command as a list (must start with 'cd')
"""
# local functions
- def write_beginning(directory):
- self._giface.WriteCmdLog('cd "' + directory + '"')
+ def write_beginning(parameter=None, command=None):
+ if parameter:
+ self._giface.WriteCmdLog('cd "' + parameter + '"')
+ else:
+ # naive concat but will be enough most of the time
+ self._giface.WriteCmdLog(' '.join(command))
def write_changed():
self._giface.WriteLog(_("Working directory changed to:\n\"%s\"")
@@ -976,21 +981,42 @@
def write_end():
self._giface.WriteCmdLog(' ')
+ def write_help():
+ self._giface.WriteLog(_("Changes current working directory"
+ " for this GUI."))
+ self._giface.WriteLog(_("Usage: cd [directory]"))
+ self._giface.WriteLog(_("Without parameters it opens a dialog."))
+ # TODO: the following is longer then 80 chars
+ # but this should be solved by the function not caller
+ # also because of translations
+ self._giface.WriteLog(_("If ~ (tilde) is present as the first"
+ " directory on the path, it is replaced"
+ " by user's home directory."))
+
# check correctness of cmd
- if cmd and (cmd[0] != 'cd' or len(cmd) > 2):
- raise ValueError("OnChangeCWD cmd parameter must be list with"
+ if cmd and cmd[0] != 'cd':
+ # this is programmer's error
+ # can be relaxed in future
+ # but keep it strict unless needed otherwise
+ raise ValueError("OnChangeCWD cmd parameter must be list of"
" lenght 1 or 2 and 'cd' as a first item")
+ if cmd and len(cmd) > 2:
+ # this might be a user error
+ write_beginning(command=cmd)
+ self._giface.WriteError(_("More than one parameter provided."))
+ write_help()
+ write_end()
+ return
# use chdir or dialog
if cmd and len(cmd) == 2:
- write_beginning(cmd[1])
- if cmd[1] in ['-h', '--h', '--help']:
- self._giface.WriteLog(_("Changes current working directory"
- " for this GUI."))
- self._giface.WriteLog(_("Usage: cd [directory]"))
+ write_beginning(parameter=cmd[1])
+ if cmd[1] in ['-h', '--h', '--help', 'help']:
+ write_help()
write_end()
return
try:
- os.chdir(cmd[1])
+ path = os.path.expanduser(cmd[1])
+ os.chdir(path)
write_changed()
except OSError as error:
self._giface.WriteError(str(error))
@@ -1003,7 +1029,7 @@
if dlg.ShowModal() == wx.ID_OK:
self.cwdPath = dlg.GetPath() # is saved in the workspace
- write_beginning(self.cwdPath)
+ write_beginning(parameter=self.cwdPath)
write_changed()
write_end()
More information about the grass-commit
mailing list