Commit 150c196d authored by K.-Michael Aye's avatar K.-Michael Aye Committed by Jesse Mapel
Browse files

add fish support

parent 09da2662
Loading
Loading
Loading
Loading
+75 −35
Original line number Diff line number Diff line
@@ -44,32 +44,43 @@ import sys
#       Date:    2019-03-25
#       Description: Added C-Shell support.
#
#       Author:  K.-Michael Aye
#       Date:    2019-08-09
#       Description: Added support for fish shell.
#
##########################################################################################################

# There are still a lot of Python 2 installations out there, and if people don't have
# their conda environment set up properly, the error message they'll get will be hard
# to decipher.  This might help:
assert( sys.version_info >= (3,2) ) # Must be using Python 3.2 or later
assert sys.version_info >= (3, 2)  # Must be using Python 3.2 or later


# This just wraps and reports on the directory creation:
def mkdir(p):
    if os.path.exists( p ): print( 'Tried to create '+p+', but it already exists.' )
    if os.path.exists(p):
        print("Tried to create " + p + ", but it already exists.")
    else:
        os.makedirs(p)
        print( 'Created '+p )
        print("Created " + p)
    return


# Set up and then parse the command line:
parser = argparse.ArgumentParser(description=__doc__)

parser.add_argument('-d','--data-dir',
                    default=os.environ['CONDA_PREFIX']+'/data',
                    help='ISIS3 Data Directory, default: %(default)s' )
parser.add_argument('-t','--test-dir',
                    default=os.environ['CONDA_PREFIX']+'/testData',
                    help='ISIS3 Test Data Directory, default: %(default)s')
parser.add_argument(
    "-d",
    "--data-dir",
    default=os.environ["CONDA_PREFIX"] + "/data",
    help="ISIS3 Data Directory, default: %(default)s",
)
parser.add_argument(
    "-t",
    "--test-dir",
    default=os.environ["CONDA_PREFIX"] + "/testData",
    help="ISIS3 Test Data Directory, default: %(default)s",
)
args = parser.parse_args()


@@ -78,52 +89,81 @@ mkdir( args.data_dir )
mkdir(args.test_dir)

# Create the conda activation and deactivation directories:
activate_dir   = os.environ['CONDA_PREFIX']+'/etc/conda/activate.d'
deactivate_dir = os.environ['CONDA_PREFIX']+'/etc/conda/deactivate.d'
activate_dir = os.environ["CONDA_PREFIX"] + "/etc/conda/activate.d"
deactivate_dir = os.environ["CONDA_PREFIX"] + "/etc/conda/deactivate.d"

mkdir(activate_dir)
mkdir(deactivate_dir)

# Write the files that manage the ISIS3 environments:
activate_vars_sh   =   activate_dir+'/env_vars.sh'
deactivate_vars_sh = deactivate_dir+'/env_vars.sh'
activate_vars_csh   =   activate_dir+'/env_vars.csh'
deactivate_vars_csh = deactivate_dir+'/env_vars.csh'

with open( activate_vars_sh, mode='w' ) as a:
activate_vars_sh = activate_dir + "/env_vars.sh"
deactivate_vars_sh = deactivate_dir + "/env_vars.sh"
activate_vars_csh = activate_dir + "/env_vars.csh"
deactivate_vars_csh = deactivate_dir + "/env_vars.csh"
activate_vars_fish = activate_dir + "/env_vars.fish"
deactivate_vars_fish = deactivate_dir + "/env_vars.fish"

# bash/zsh
with open(activate_vars_sh, mode="w") as a:
    script = """#!/bin/sh
export ISISROOT={}
export ISIS3DATA={}
export ISIS3TESTDATA={}
""".format(os.environ['CONDA_PREFIX'], args.data_dir, args.test_dir)
""".format(
        os.environ["CONDA_PREFIX"], args.data_dir, args.test_dir
    )
    a.write(script)
print( 'Wrote '+activate_vars_sh )
print("Wrote " + activate_vars_sh)

with open( deactivate_vars_sh, mode='w' ) as d:
with open(deactivate_vars_sh, mode="w") as d:
    script = """#!/bin/sh
unset ISISROOT
unset ISIS3DATA
unset ISIS3TESTDATA
"""
    d.write(script)
print( 'Wrote '+deactivate_vars_sh )
print("Wrote " + deactivate_vars_sh)

with open( activate_vars_csh, mode='w' ) as a:
# csh
with open(activate_vars_csh, mode="w") as a:
    script = """#!/bin/csh
setenv ISISROOT {}
setenv ISIS3DATA {}
setenv ISIS3TESTDATA {}

source $CONDA_PREFIX/scripts/tabCompletion.csh
""".format(os.environ['CONDA_PREFIX'], args.data_dir, args.test_dir)
""".format(
        os.environ["CONDA_PREFIX"], args.data_dir, args.test_dir
    )
    a.write(script)
print( 'Wrote '+activate_vars_csh )
print("Wrote " + activate_vars_csh)

with open( deactivate_vars_csh, mode='w' ) as d:
with open(deactivate_vars_csh, mode="w") as d:
    script = """#!/bin/sh
unsetenv ISISROOT
unsetenv ISIS3DATA
unsetenv ISIS3TESTDATA
"""
    d.write(script)
print( 'Wrote '+deactivate_vars_csh )
print("Wrote " + deactivate_vars_csh)

# fish
with open(activate_vars_fish, mode="w") as a:
    script = """#!/usr/bin/env fish
set -gx ISISROOT {}
set -gx ISIS3DATA {}
set -gx ISIS3TESTDATA {}
""".format(
        os.environ["CONDA_PREFIX"], args.data_dir, args.test_dir
    )
    a.write(script)
print("Wrote " + activate_vars_fish)

with open(deactivate_vars_csh, mode="w") as d:
    script = """#!/bin/sh
set -e ISISROOT
set -e ISIS3DATA
set -e ISIS3TESTDATA
"""
    d.write(script)
print("Wrote " + deactivate_vars_fish)