diff options
Diffstat (limited to 'linklogger.sh')
-rwxr-xr-x[-rw-r--r--] | linklogger.sh | 76 |
1 files changed, 72 insertions, 4 deletions
diff --git a/linklogger.sh b/linklogger.sh index a2a0f44..71ab398 100644..100755 --- a/linklogger.sh +++ b/linklogger.sh @@ -1,6 +1,74 @@ #!/bin/bash -# Start nginx in the background -service nginx start -# Run the Python script -python -u linklogger.py
\ No newline at end of file +# Define color variables for easier use +RED='\033[1;31m' +GREEN='\033[1;32m' +NC='\033[0m' # No Color (reset to default) + +# Function to detect the appropriate Python version +function check_python_version() { + # Check for python3 first + if command -v python3 &> /dev/null; then + PYTHON_CMD="python3" + elif command -v python &> /dev/null; then + PYTHON_CMD="python" + else + printf "${RED}No Python installation found. Please install Python.${NC}\n" + exit 1 + fi + + # Check Python version (>= 3.10) + PYTHON_VERSION=$($PYTHON_CMD -c 'import platform; print(platform.python_version())') + REQUIRED_VERSION="3.10" + + if [[ "$(printf '%s\n' "$REQUIRED_VERSION" "$PYTHON_VERSION" | sort -V | head -n1)" != "$REQUIRED_VERSION" ]]; then + printf "${RED}Python version $PYTHON_VERSION is installed, but version 3.10 or higher is required.${NC}\n" + exit 1 + fi +} + +# Function to check that pip is installed +function check_pip_installed() { + if ! command -v pip &> /dev/null; then + printf "${RED}Pip is not installed. Please install Pip before proceeding.${NC}\n" + exit 1 + fi +} + +# Function to check if yarn is installed +function check_yarn_installed() { + if ! command -v yarn &> /dev/null; then + printf "${RED}Yarn is not installed. Please install Yarn before proceeding.${NC}\n" + exit 1 + fi +} + +# If on Linux or macOS +if [[ "$OSTYPE" == "linux-gnu"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then + check_python_version + printf "${GREEN}Python version $PYTHON_VERSION is installed.${NC}\n" + check_pip_installed + printf "${GREEN}Pip is installed.${NC}\n" + check_yarn_installed + printf "${GREEN}Yarn is installed.${NC}\n" + + # Install the UI dependencies + printf "${GREEN}Installing UI dependencies...${NC}\n" + cd app || { printf "${RED}Failed to enter 'app' directory. Exiting.${NC}\n"; exit 1; } + yarn install | head -n 5 + yarn add vite | head -n 5 + cd .. || { printf "${RED}Failed to return to the previous directory. Exiting.${NC}\n"; exit 1; } + printf "${GREEN}UI dependencies installed.${NC}\n" + + # Start the API and UI + printf "${GREEN}Starting API and UI...${NC}\n" + $PYTHON_CMD linklogger.py & + cd app || { printf "${RED}Failed to enter 'app' directory. Exiting.${NC}\n"; exit 1; } + yarn dev +fi + +# If on Windows (MSYS environment) +if [[ "$OSTYPE" == "msys" ]]; then + printf "${RED}This script is not for Windows. Please run dev.bat instead.${NC}\n" + exit 1 +fi |