瀏覽代碼

Replaced prompt.py with a bash function for bash startup.
Fixed ticket https://trac.osgeo.org/grass/ticket/2284.



git-svn-id: https://svn.osgeo.org/grass/grass/trunk@60216 15284696-431f-4ddb-bdfa-cd5b030d7da7

Huidae Cho 11 年之前
父節點
當前提交
bd28c5e932
共有 2 個文件被更改,包括 11 次插入31 次删除
  1. 11 2
      lib/init/grass.py
  2. 0 29
      lib/init/prompt.py

+ 11 - 2
lib/init/grass.py

@@ -1113,8 +1113,17 @@ def bash_startup():
     else:
         f.write("PS1='GRASS %s (%s):\w > '\n" % (grass_version, location_name))
     
-    f.write("PROMPT_COMMAND=\"'%s'\"\n" % os.path.join(gisbase, 'etc',
-                                                       'prompt.py'))
+    f.write("""grass_prompt() {
+	LOCATION="`g.gisenv GISDBASE`/`g.gisenv LOCATION_NAME`/`g.gisenv MAPSET`"
+	if test -d "$LOCATION/grid3/G3D_MASK" && test -f "$LOCATION/cell/MASK" ; then
+		echo [Raster and Volume MASKs present]
+	elif test -f "$LOCATION/cell/MASK" ; then
+		echo [Raster MASK present]
+	elif test -d "$LOCATION/grid3/G3D_MASK" ; then
+		echo [Volume MASK present]
+	fi
+}
+PROMPT_COMMAND=grass_prompt\n""")
 
     # read environmental variables
     path = os.path.join(userhome, ".grass.bashrc") # left for backward compatibility

+ 0 - 29
lib/init/prompt.py

@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-from grass.script import core as grass
-
-gisenv = grass.gisenv()
-
-import gettext
-gettext.install('grasslibs', os.path.join(gisenv['GISDBASE'], 'locale'), unicode = True)
-
-location = os.path.join(gisenv['GISDBASE'], gisenv['LOCATION_NAME'], gisenv['MAPSET'])
-
-has_mask   = os.path.isfile(os.path.join(location, 'cell', 'MASK'))
-has_mask3d = os.path.isdir(os.path.join(location, 'grid3', 'G3D_MASK'))
-
-def main():
-    if has_mask and has_mask3d:
-        grass.info(_("[Raster and Volume MASKs present]"))
-    elif has_mask:
-        grass.info(_("[Raster MASK present]"))
-    elif has_mask3d:
-        grass.info(_("[Volume MASK present]"))
-
-    return 0
-
-if __name__ == "__main__":
-    sys.exit(main())