Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

Simplify the structure of the grass init module #7

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
90639ae
lib/init/grass: Simplify removing the tmpdir.
pmav99 Feb 3, 2019
785492b
lib/init/grass: Fix erroneous comment.
pmav99 Feb 3, 2019
39d047b
lib/init/grass: Simplify encode()/decode() functions.
pmav99 Feb 3, 2019
e60e034
lib/init/grass: Move all the imports at the beginning of the file.
pmav99 Feb 3, 2019
47ff016
lib/init/grass: Simplify clean_env().
pmav99 Feb 3, 2019
193277d
lib/init/grass: Just shuffling stuff around
pmav99 Feb 3, 2019
821f43f
lib/init/grass: Group the logging functions together.
pmav99 Feb 3, 2019
3a5de69
lib/init/grass: Capitalize constants.
pmav99 Feb 3, 2019
906ff68
lib/init/grass: Move the info message out of the "show_info()" function.
pmav99 Feb 3, 2019
bb2d09e
lib/init/grass: Remove unused constants
pmav99 Feb 4, 2019
44ce258
lib/init/grass: Use six for cross version Python compatibility
pmav99 Feb 4, 2019
2c00830
lib/init/grass: Remove old comment
pmav99 Feb 4, 2019
d2ab2c2
lib/init/grass: Move all the gisbase stuff in a single place.
pmav99 Feb 4, 2019
7e737ee
lib/init/grass: Clarify comment.
pmav99 Feb 4, 2019
e5d0b31
lib/init/grass: Capitalize all constants
pmav99 Feb 4, 2019
d84f4c4
lib/init/grass: Fix typo
pmav99 Feb 4, 2019
6689f15
lib/init/grass: Simplify setting a value to CONFIG_PROJSHARE
pmav99 Feb 4, 2019
5682b16
lib/init/grass: Add comments about GISBASE
pmav99 Feb 4, 2019
070f9e1
lib/init/grass: Validate cmdline in a separate function
pmav99 Feb 4, 2019
520f4df
lib/init/grass: Inline variable substitution inside "help_message()"
pmav99 Feb 24, 2019
7229f5f
lib/init/grass: Ensure that the init process only happens inside main()
pmav99 Feb 24, 2019
1809611
lib/init/grass: Refuse to start if ~/.grass7 exists but is not a dire…
pmav99 Feb 24, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions lib/init/grass.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,17 +66,24 @@
ENCODING = 'UTF-8'
print("Default locale not found, using UTF-8") # intentionally not translatable

# Variables substituted during build process
# The "@...@" variables are being substituted during build process
#
# TODO: should GISBASE be renamed to something like GRASS_PATH?
# GISBASE marks complete runtime, so no need to get it here when
# setting it up, possible scenario: existing runtime and starting
# GRASS in that, we want to overwrite the settings, not to take it
# possibly same for GRASS_PROJSHARE and others but maybe not
#
# We need to simultaneously make sure that:
# - we get GISBASE from os.environ if it is defined (doesn't this mean that we are already
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. We can change that for 8.0 and even make some forward compatible changes in 7.x series. (just a comment, no change needed here)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, this related to the comment removed in 2c00830: We should be able to overpower a running G session by another one.

# inside a GRASS session? If we are, why do we need to run this script again???).
# - GISBASE exists as an ENV variable
#
# pmav99: Ugly as hell, but that's what the code before the refactoring was doing.
if 'GISBASE' in os.environ:
# TODO: should this be something like GRASS_PATH?
# GISBASE marks complete runtime, so no need to get it here when
# setting it up, possible scenario: existing runtime and starting
# GRASS in that, we want to overwrite the settings, not to take it
# possibly same for GRASS_PROJSHARE and others but maybe not
GISBASE = os.environ['GISBASE']
GISBASE = os.path.normpath(GISBASE)
GISBASE = os.path.normpath(os.environ["GISBASE"])
else:
GISBASE = "@GISBASE@"
GISBASE = os.path.normpath("@GISBASE@")
os.environ['GISBASE'] = GISBASE
CMD_NAME = "@START_UP@"
GRASS_VERSION = "@GRASS_VERSION_NUMBER@"
Expand Down