this needs to be more "polite" too
This commit is contained in:
58
core/dynr
58
core/dynr
@@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
# -----------------------------------------------------------------------
|
||||
# Dynasty Revolution CLI Framework (dynr) - DYNAMIC CORE v2.3.5
|
||||
# Dynasty Revolution CLI Framework (dynr) - DYNAMIC CORE v2.3.6
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
VERSION="2.3.5"
|
||||
VERSION="2.3.6"
|
||||
BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; RED='\033[38;5;196m'; NC='\033[0m'
|
||||
REPO_RAW="https://git.dynastyrevolution.com/DYNR/DynastyRevolution-Scripts/raw/branch/main"
|
||||
MOD_DIR="/opt/dynr/modules"
|
||||
@@ -12,41 +12,26 @@ load_and_run() {
|
||||
local mod=$1
|
||||
local remote="$REPO_RAW/modules/$mod"
|
||||
if [ ! -f "$MOD_DIR/$mod" ]; then
|
||||
echo -e "${GOLD}🐉 Seeking the '$mod' scroll in the archives...${NC}"
|
||||
if curl -sSLf "$remote" -o "$MOD_DIR/$mod"; then
|
||||
chmod +x "$MOD_DIR/$mod"
|
||||
else
|
||||
echo -e "${RED}❌ Module '$mod' not found in the Dynasty vault.${NC}"
|
||||
return 1
|
||||
fi
|
||||
echo -e "${GOLD}🐉 Seeking the '$mod' scroll...${NC}"
|
||||
if curl -sSLf "$remote" -o "$MOD_DIR/$mod"; then chmod +x "$MOD_DIR/$mod";
|
||||
else echo -e "${RED}❌ Module '$mod' not found.${NC}"; return 1; fi
|
||||
fi
|
||||
source "$MOD_DIR/$mod"
|
||||
local func_name="run_${mod//-/_}"
|
||||
if declare -f "$func_name" > /dev/null; then
|
||||
shift
|
||||
"$func_name" "$@"
|
||||
else
|
||||
echo -e "${RED}❌ Error: Function '$func_name' not defined in module '$mod'.${NC}"
|
||||
fi
|
||||
if declare -f "$func_name" > /dev/null; then shift; "$func_name" "$@";
|
||||
else echo -e "${RED}❌ Error: Function '$func_name' not defined.${NC}"; fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
exit|quit)
|
||||
echo -e "${GOLD}🐉 The Dynasty awaits your return. Farewell.${NC}"
|
||||
exit 0
|
||||
;;
|
||||
exit|quit) echo -e "${GOLD}🐉 The Dynasty awaits your return. Farewell.${NC}"; exit 0 ;;
|
||||
update)
|
||||
sudo curl -sSL "$REPO_RAW/core/dynr" -o /usr/local/bin/dynr
|
||||
sudo chmod +x /usr/local/bin/dynr
|
||||
echo -e "${GOLD}✨ Dynasty Core updated to v$VERSION.${NC}"
|
||||
;;
|
||||
echo -e "${GOLD}✨ Dynasty Core updated to v$VERSION.${NC}" ;;
|
||||
refresh)
|
||||
if [[ -z "$2" ]]; then echo "Usage: dynr refresh <mod>"; else rm -f "$MOD_DIR/$2" && load_and_run "$2"; fi
|
||||
;;
|
||||
list)
|
||||
echo -e "${PURPLE}📜 Locally Manifested Scrolls:${NC}"
|
||||
ls "$MOD_DIR" 2>/dev/null | sed 's/^/ ↓ /' || echo " (Empty)"
|
||||
;;
|
||||
if [[ -z "$2" ]]; then echo "Usage: dynr refresh <mod>"; else rm -f "$MOD_DIR/$2" && load_and_run "$2"; fi ;;
|
||||
list) ls "$MOD_DIR" 2>/dev/null | sed 's/^/ ↓ /' || echo " (Empty)" ;;
|
||||
help) load_and_run "help" ;;
|
||||
*)
|
||||
if [ -z "$1" ]; then
|
||||
clear
|
||||
@@ -54,18 +39,9 @@ case "$1" in
|
||||
echo -e "Main Commands: ${GOLD}list, update, refresh, exit, help${NC}"
|
||||
echo -e "${PURPLE}-------------------------------------------------${NC}"
|
||||
read -p "dynr > " AUTO_CMD < /dev/tty
|
||||
|
||||
# Persistent Loop Logic
|
||||
if [[ "$AUTO_CMD" == "exit" ]] || [[ "$AUTO_CMD" == "quit" ]]; then
|
||||
echo -e "${GOLD}🐉 Moving to the shadows...${NC}"
|
||||
exit 0
|
||||
elif [[ ! -z "$AUTO_CMD" ]]; then
|
||||
dynr $AUTO_CMD
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
load_and_run "$@"
|
||||
fi
|
||||
;;
|
||||
if [[ "$AUTO_CMD" == "exit" || "$AUTO_CMD" == "quit" ]]; then exit 0;
|
||||
elif [[ ! -z "$AUTO_CMD" ]]; then dynr $AUTO_CMD;
|
||||
else exit 0; fi
|
||||
else load_and_run "$@"
|
||||
fi ;;
|
||||
esac
|
||||
Reference in New Issue
Block a user