maple_localized/install.sh
2023-05-04 09:29:31 -05:00

427 lines
30 KiB
Bash

#!/usr/bin/env bash
################################################################################################################# SOF
#####################################################################################################################
BANNER="\
###################################################################################################################!\
# #!\
# #!\
# #!\
# ## .### #!\
# ## ## #### #!\
# ## ## #:## #!\
# :#### ## ## ####### .####. :###.## ##.#### ## ##.###: #!\
# ###### ## ## ####### .######. :####### ####### ## #######: #!\
# #: :## ## ## ## ### ### ### ### ###. ## ### ### #!\
# :##### ## ## ## ##. .## ##. .## ## ## ##. .## #!\
# .####### ## ## ## ## ## ## ## ## ## ## ## #!\
# ## . ## ## ## ## ##. .## ##. .## ## ## ##. .## #!\
# ##: ### ##: ### ##. ### ### ### ### ## ## ### ### #!\
# ######## ####### ##### .######. :####### ## ######## #######: #!\
# ###.## ###.## .#### .####. :###.## ## ######## ##.###: #!\
# ## #!\
# ## #!\
# ## #!\
# #!\
###################################################################################################################"
#####################################################################################################################
#####################################################################################################################
PARAMS="$1"
#####################################################################################################################
#####################################################################################################################
BRK="##################################################################################"
# RGB ###############################################################################################################
################################################################################################################# RGB
function rgb () {
#################################################################################################################
#################################################################################################################
R=$((RANDOM%256))
G=$((RANDOM%256))
B=$((RANDOM%256))
#################################################################################################################
#################################################################################################################
echo -e "\e[38;2;"$R";"$G";"$B"m"
#################################################################################################################
#################################################################################################################
} # RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB #
# num ###############################################################################################################
################################################################################################################# num
function num () {
#################################################################################################################
#################################################################################################################
l=$(echo $1|wc -c); n=0
#################################################################################################################
#################################################################################################################
while [ $n -lt $((l+3)) ]; do
echo -ne "#"
n=$((n+1))
done
#################################################################################################################
#################################################################################################################
} # NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM #
# LOG ###############################################################################################################
################################################################################################################# LOG
function log () {
#################################################################################################################
#################################################################################################################
[ $3 -eq 0 ] && msg "$(num "$1 - $2")![ $1 - $2 ]!$(num "$1 - $2")"
[ $3 -eq 1 ] && msg "+ SUCCESS > $1 - $2"
[ $3 -eq 2 ] && msg "- FAILURE > $1 - $2"
[ $3 -eq 3 ] && msg "!$(num "$2")!# $2 #!$(num "$2")!"
[ $3 -eq 4 ] && msg "> $1 - $2"
#################################################################################################################
#################################################################################################################
} # LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG LOG #
# MSG ###############################################################################################################
################################################################################################################# MSG
function msg () {
#################################################################################################################
#################################################################################################################
MSG="$1"
#################################################################################################################
#################################################################################################################
for ((i=0; i < ${#MSG}; i++)); do
#############################################################################################################
#############################################################################################################
MSGCHAR=${MSG:i:1}
#############################################################################################################
#############################################################################################################
if [ "$MSGCHAR" == "!" ]; then
echo -e ""
else
echo -ne "$(rgb)$MSGCHAR"
fi
#############################################################################################################
#############################################################################################################
done; echo ""
#################################################################################################################
#################################################################################################################
} # MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG MSG #
#####################################################################################################################
#####################################################################################################################
# PREREQ ############################################################################################################
############################################################################################################ PREREQ #
function prereq () {
#################################################################################################################
#################################################################################################################
if [ ! -e venv ]; then
#############################################################################################################
#############################################################################################################
log "SHELLED" "NO PYTHON VIRTUAL ENVIRONMENT FOUND: INSTALLING NEW VIRTUAL ENVIRONMENT" 2
#############################################################################################################
#############################################################################################################
python3.9 -m venv venv > /dev/null 2>&1
#############################################################################################################
#############################################################################################################
if [ $? -eq 0 ]; then
#########################################################################################################
#########################################################################################################
if [ -e venv/bin/activate ]; then
#####################################################################################################
#####################################################################################################
msg "!$BRK!"
echo -e "alias p='$PWD/venv/bin/python3.9'" >> venv/bin/activate
echo -e "alias python='$PWD/venv/bin/python3.9'" >> venv/bin/activate
echo -e "alias python3='$PWD/venv/bin/python3.9'" >> venv/bin/activate
#####################################################################################################
#####################################################################################################
log "SHELLED" "ACTIVATING PYTHON VIRTUAL ENVIRONMENT" 4
#####################################################################################################
#####################################################################################################
source venv/bin/activate
#####################################################################################################
#####################################################################################################
else
#####################################################################################################
#####################################################################################################
log "FAILURE" "FAILED ACTIVATING PYTHON VIRTUAL ENVIRONMENT: ABORTING INSTALLATION" 2
exit 1
#####################################################################################################
#####################################################################################################
fi
#########################################################################################################
#########################################################################################################
else
#########################################################################################################
#########################################################################################################
log "FAILURE" "TROUBLE SETTING UP THE PYTHON VIRTUAL ENVIRONMENT: ABORTING INSTALLATION" 2
exit 1
#########################################################################################################
#########################################################################################################
fi
#############################################################################################################
#############################################################################################################
else
#############################################################################################################
#############################################################################################################
log "SHELLED" "ACTIVATING PYTHON VIRTUAL ENVIRONMENT" 4
source venv/bin/activate
#############################################################################################################
#############################################################################################################
fi
#################################################################################################################
#################################################################################################################
} # PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ PREREQ #
# INSTALL ###########################################################################################################
############################################################################################################# INSTALL
function install () {
#################################################################################################################
#################################################################################################################
msg "$BRK!"
log "SHELLED" "CHECKING PYTHON PIP MODULE UPGRADABILITY" 4
msg "!$BRK!"
#################################################################################################################
#################################################################################################################
python3.9 -m pip install --upgrade --force-reinstall pip|grep Successfully > /dev/null 2>&1
#################################################################################################################
#################################################################################################################
if [ $? -eq 0 ]; then
#############################################################################################################
#############################################################################################################
log "SHELLED" "UPGRADED PYTHON MODULE: PIP" 4
msg "!$BRK"
#############################################################################################################
#############################################################################################################
else
#############################################################################################################
#############################################################################################################
log "SHELLED" "SKIPPING: UPGRADE PYTHON MODULE PIP ( ALREADY NEWEST )" 4
msg "!$BRK!"
#############################################################################################################
#############################################################################################################
fi
#################################################################################################################
#################################################################################################################
} # INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL INSTALL #
# RUNTIME ###########################################################################################################
############################################################################################################# RUNTIME
function runtime () {
#################################################################################################################
#################################################################################################################
log "SHELLED" "LOADING PYTHON FILE: MAPLE_LOCALIZED.PY ( WILL TAKE A MOMENT TO LOAD )" 4
msg "!$BRK!"
#################################################################################################################
#################################################################################################################
python3.9 maple_localized.py
#################################################################################################################
#################################################################################################################
} # RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME RUNTIME #
# MAIN ##############################################################################################################
################################################################################################################ MAIN
msg "!$BANNER"
#####################################################################################################################
#####################################################################################################################
log "MAIN" "PRE-REQUISITES CHECK" 3; prereq
log "MAIN" "INSTALLATION" 3; install
log "MAIN" "RUNTIME" 3; runtime
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
######_________________________________s_______________________..______________________________________________######
######________________________________:8________.n~~%x.______dF____________________________oe__________________######
######________________x.____.________.88______x88X___888.___'88bu._________.u____._______.@88_____.d``_________######
######_______u______.@88k__z88u_____:888ooo__X888X___8888L__'*88888bu____.d88B_:@8c__==*88888_____@8Ne.___.u___######
######____us888u.__~"8888_^8888___-*8888888_X8888X___88888____^"*8888N__="8888f8888r____88888_____%8888:u@88N__######
######_.@88_"8888"___8888__888R_____8888____88888X___88888X__beWE_"888L___4888>'88"_____88888______`888I__888._######
######_9888__9888____8888__888R_____8888____88888X___88888X__888E__888E___4888>_'_______88888_______888I__888I_######
######_9888__9888____8888__888R_____8888____88888X___88888f__888E__888E___4888>_________88888_______888I__888I_######
######_9888__9888____8888_,888B_.__.8888Lu=_48888X___88888___888E__888F__.d888L_.+______88888_____uW888L__888'_######
######_9888__9888___"8888Y_8888"___^%888*____?888X___8888"__.888N..888___^"8888*"_______88888____'*88888Nu88P__######
######_"888*""888"___`Y"___'YP_______'Y"______"88X___88*`____`"888*""_______"Y"_________88888____~_'88888F`____######
######__^Y"___^Y'_______________________________^"==="`_________""___________________'**%%%%%%**____888_^______######
######______________________________________________________________________________________________*8E________######
######______________________________________________________________________________________________'8>________######
######_______________________________________________________________________________________________"_________######
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
########## .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. ################
########## /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd- ############
########## -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN. ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmNMMMMMMMMMMMmMMMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh:NMMMMMMMMMMoyMMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm -NMMMMMMMMMs.NMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy -hmmmmmNNm- sMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmdyo+:. ......... .NMMMymMMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmy+-.. -hNm-+MMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMms:. ... /MMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh/. /MMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMmMMMMMMMMMMMmhN:. /MMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMM+sNMMMMMMMMMN-h: .-+syyys/- -NMMMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMs +NMMMMMMMhm--d. :. -sdNMMMMMNNmy. :ydMMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMM+ :yhyyyhhso. os yhshNMMMMMMMh+:-:. :s- .NMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMmho. . .yo.h:sMMMMMMMMMMNd+. -NNs- yMMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMMMNh/. :++.-MMMMMMMMMMMMMm+. :ymds. -NMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMMMmo- .MMMMMMMMMMMMMMMdo. ..-. yMMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMMMmo. .NMMMMMMMMMMMMMMMMNy/.. .mMMMMMMMMMMMMMMM- ##########
########## /MMMMMMMNs. hMMMMMMMMMMMMMMMMMMMNho-. :NMMMMMMMMMMMMMM- ##########
########## /MMMMMMm: ./syyyo- -hmNMMMMMMMMMMMMMMMMMMMMmho:.. /NMMMMMMMMMMMMM- ##########
########## /MMMMMd. .smMMMNNNms. . .+MMMMMMMMMMMMMMMMMMMMMMMMNdy/ ..yMMMMMMMMMMMMM- ##########
########## /MMMMd. /mMMMMMy/:--. so. .mMMMMMMMMMMMMMMMMMMMMMMMNdo--:+sdNMMMMMMMMMMMMMM- ##########
########## /MMMN- /NMMMMMMMMdo. oMm+. /MMMMMMMMMMMMMMMMdNMMMMMMNNNMMmMMMMMMMMMMMMMMMMM- ##########
########## /MMMo -NMMMMMMMMMMdso-. /hmm+ sMMMMMMMMMMMMMMMs-mMMMMMMMMMM:dMMMMMMMMMMMMMMMM- ##########
########## /MMN. sMMMMMMMMMMMo .os/..... .dMMMMMMMMMMMMMMs -NMMMMMMMMM-:MMMMMMMMMMMMMMMM- ##########
########## /MMd mMMMMMMMMMMM/ .:os+-. .dMMMMMMMMMMMNm. -soosyhdms .mMMMMMMMMMMMMMMM- ##########
########## /MMs mMMMMMMMMMMM: .hNhs/.. .dMMMMNmhs+:-. +MMMNoMMMMMMMMMM- ##########
########## /MMy hMMMMMMMMMMM: oMMMMMNdyo/. .mNh+-. +mNy.mMMMMMMMMM- ##########
########## /MMd +MMMMMMMMMMM/ :MMMMMMMMNs...:ohh/. . mMMMMMMMMM- ##########
########## /MMN. .mMMMMMMMMMMo .NMMMMMMNhhdNMMh: mMMMMMMMMM- ##########
########## /MMM+ /MMMMMMMMMMh yMMMMMMMMMMMN+ .NMMMMMMMMM- ##########
########## /MMMm. +MMMMMMMMMN. .NMMMMMMMMMN- :sdmNNNdy+. dMMMMMMMMM- ##########
########## /MMMMo +MMMMMMMMM+ +MMMMMMMMM/ -dMMMMMMNmmNN/ .sdMMMMMMM- ##########
########## /MMMMN: :mMMMMMMMm. oMMMMMMMh .mMMMMMMMms- .. /o. .mMMMMMM- ##########
########## /MMMMMm. .yMMMMMMMo oMMMMMM/ sMMMMMMMMMMMh: :NNo. sMMMMMM- ##########
########## /MMMMMMm. -hMMMMMN: /NMMMM. dMMMMMMMMMMMMMh- :hmNy. .NMMMMM- ##########
########## /MMMMMMMm- -yNMMMm. .yMMM. dMMMMMMMMMMMMMMNh:. .... yMMMMM- ##########
########## /MMMMMMMMN+ .+hNMd. :hM: dMMMMMMMMMMMMMMMMNmo- .NMMMM- ##########
########## /MMMMMMMMMMh- ./ss. .:: sMMMMMMMMMMMMMMMMMMMNms/. /MMMM- ##########
########## /MMMMMMMMMMMNo. . :MMMMMMMMMMMMMMMMMMMMMMMNdo:.. oMMM- ##########
########## /MMMMMMMMMMMMMmo. .mMMMMMMMMMMMMMMMMMMMMMMMMMMNmh: .dMM- ##########
########## /MMMMMMMMMMMMMMMNy:. +MMMMMMMMMMMMMMMMMMMMMMMMMMNh+::/+sdNMMM- ##########
########## /MMMMMMMMMMMMMMMMMNdo- .dMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNMMMMMMMM- ##########
########## /MMMMMMMMMMMMMMMMMMMMNd+-. -NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM- ##########
########## -NMMMMMMMMMMMMMMMMMMMMMMNdo:. /NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd. ##########
########## -ymNNNNNNNNNNNNNNNNNNNNNNNNdo-. +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmy. ############
########## ............................ .-................................ ################
########## ...... ......... .............. ........... maple ...... ###################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
######_________________________________s_______________________..______________________________________________######
######________________________________:8________.n~~%x.______dF____________________________oe__________________######
######________________x.____.________.88______x88X___888.___'88bu._________.u____._______.@88_____.d``_________######
######_______u______.@88k__z88u_____:888ooo__X888X___8888L__'*88888bu____.d88B_:@8c__==*88888_____@8Ne.___.u___######
######____us888u.__~"8888_^8888___-*8888888_X8888X___88888____^"*8888N__="8888f8888r____88888_____%8888:u@88N__######
######_.@88_"8888"___8888__888R_____8888____88888X___88888X__beWE_"888L___4888>'88"_____88888______`888I__888._######
######_9888__9888____8888__888R_____8888____88888X___88888X__888E__888E___4888>_'_______88888_______888I__888I_######
######_9888__9888____8888__888R_____8888____88888X___88888f__888E__888E___4888>_________88888_______888I__888I_######
######_9888__9888____8888_,888B_.__.8888Lu=_48888X___88888___888E__888F__.d888L_.+______88888_____uW888L__888'_######
######_9888__9888___"8888Y_8888"___^%888*____?888X___8888"__.888N..888___^"8888*"_______88888____'*88888Nu88P__######
######_"888*""888"___`Y"___'YP_______'Y"______"88X___88*`____`"888*""_______"Y"_________88888____~_'88888F`____######
######__^Y"___^Y'_______________________________^"==="`_________""___________________'**%%%%%%**____888_^______######
######______________________________________________________________________________________________*8E________######
######______________________________________________________________________________________________'8>________######
######_______________________________________________________________________________________________"_________######
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
# EOF ###############################################################################################################
################################################################################################################# EOF