last update
This commit is contained in:
158
scripts/install_and_run.sh
Executable file
158
scripts/install_and_run.sh
Executable file
@@ -0,0 +1,158 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "==============================================="
|
||||
echo " EBoek.info Scraper - Installation and Setup"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
# Function to check if command exists
|
||||
command_exists() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Check operating system
|
||||
OS="$(uname -s)"
|
||||
case "${OS}" in
|
||||
Linux*) MACHINE=Linux;;
|
||||
Darwin*) MACHINE=Mac;;
|
||||
*) MACHINE="UNKNOWN:${OS}"
|
||||
esac
|
||||
|
||||
echo "Operating System: $MACHINE"
|
||||
|
||||
# Check if Python is installed
|
||||
if command_exists python3; then
|
||||
PYTHON_CMD="python3"
|
||||
elif command_exists python; then
|
||||
PYTHON_VERSION=$(python --version 2>&1 | grep -oP '\d+\.\d+')
|
||||
if [[ ${PYTHON_VERSION%.*} -ge 3 ]]; then
|
||||
PYTHON_CMD="python"
|
||||
else
|
||||
echo "ERROR: Python 3 is required. Found Python $PYTHON_VERSION"
|
||||
PYTHON_CMD=""
|
||||
fi
|
||||
else
|
||||
PYTHON_CMD=""
|
||||
fi
|
||||
|
||||
if [ -z "$PYTHON_CMD" ]; then
|
||||
echo "Python 3 is not installed."
|
||||
echo
|
||||
if [ "$MACHINE" = "Mac" ]; then
|
||||
echo "To install Python on macOS:"
|
||||
echo "1. Install Homebrew: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
|
||||
echo "2. Install Python: brew install python"
|
||||
echo " OR download from: https://www.python.org/downloads/"
|
||||
elif [ "$MACHINE" = "Linux" ]; then
|
||||
echo "To install Python on Linux:"
|
||||
echo "Ubuntu/Debian: sudo apt update && sudo apt install python3 python3-pip"
|
||||
echo "CentOS/RHEL: sudo yum install python3 python3-pip"
|
||||
echo "Fedora: sudo dnf install python3 python3-pip"
|
||||
fi
|
||||
echo
|
||||
echo "After installing Python, run this script again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Python found: $($PYTHON_CMD --version)"
|
||||
|
||||
# Check if pip is available
|
||||
if ! $PYTHON_CMD -m pip --version >/dev/null 2>&1; then
|
||||
echo "pip is not available. Installing pip..."
|
||||
if [ "$MACHINE" = "Mac" ]; then
|
||||
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
$PYTHON_CMD get-pip.py
|
||||
rm get-pip.py
|
||||
elif [ "$MACHINE" = "Linux" ]; then
|
||||
echo "Please install pip using your package manager:"
|
||||
echo "Ubuntu/Debian: sudo apt install python3-pip"
|
||||
echo "CentOS/RHEL: sudo yum install python3-pip"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if GUI is already set up
|
||||
if [ -f "../gui_main.py" ]; then
|
||||
echo "GUI application already set up."
|
||||
echo
|
||||
else
|
||||
echo
|
||||
echo "Installing required packages..."
|
||||
echo "==============================================="
|
||||
|
||||
# Upgrade pip first
|
||||
$PYTHON_CMD -m pip install --upgrade pip
|
||||
|
||||
# Install requirements
|
||||
if ! $PYTHON_CMD -m pip install -r requirements.txt; then
|
||||
echo
|
||||
echo "ERROR: Failed to install requirements."
|
||||
echo "Please check your internet connection and try again."
|
||||
echo "You may need to install additional system dependencies."
|
||||
|
||||
if [ "$MACHINE" = "Mac" ]; then
|
||||
echo
|
||||
echo "On macOS, you might need to install Xcode command line tools:"
|
||||
echo "xcode-select --install"
|
||||
elif [ "$MACHINE" = "Linux" ]; then
|
||||
echo
|
||||
echo "On Linux, you might need additional packages:"
|
||||
echo "Ubuntu/Debian: sudo apt install python3-dev python3-tk"
|
||||
echo "CentOS/RHEL: sudo yum install python3-devel tkinter"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Requirements installed successfully!"
|
||||
echo "Setting up GUI application..."
|
||||
fi
|
||||
|
||||
# Check for Chrome browser
|
||||
if [ "$MACHINE" = "Mac" ]; then
|
||||
if [ ! -d "/Applications/Google Chrome.app" ]; then
|
||||
echo
|
||||
echo "WARNING: Google Chrome not found."
|
||||
echo "Please install Chrome from: https://www.google.com/chrome/"
|
||||
echo "The scraper requires Chrome to function."
|
||||
fi
|
||||
elif [ "$MACHINE" = "Linux" ]; then
|
||||
if ! command_exists google-chrome && ! command_exists chromium-browser; then
|
||||
echo
|
||||
echo "WARNING: Chrome/Chromium not found."
|
||||
echo "Please install Chrome or Chromium:"
|
||||
echo "Ubuntu/Debian: sudo apt install chromium-browser"
|
||||
echo "Or download Chrome from: https://www.google.com/chrome/"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installation complete!"
|
||||
echo "==============================================="
|
||||
|
||||
# Run the GUI application
|
||||
if [ -f "../gui_main.py" ]; then
|
||||
echo "Starting EBoek.info Scraper GUI..."
|
||||
echo
|
||||
if ! $PYTHON_CMD ../gui_main.py; then
|
||||
echo
|
||||
echo "GUI failed to start. You can still use the terminal version:"
|
||||
echo "$PYTHON_CMD main.py"
|
||||
echo
|
||||
fi
|
||||
else
|
||||
echo "GUI version not found. Running terminal version..."
|
||||
echo
|
||||
if [ -f "main.py" ]; then
|
||||
$PYTHON_CMD main.py
|
||||
else
|
||||
echo "Error: No scraper found. Please check installation."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Application closed."
|
||||
echo "Press Enter to exit..."
|
||||
read
|
||||
Reference in New Issue
Block a user