427 lines
30 KiB
Bash
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
|