@ -6,15 +6,16 @@ function install_fail() {
exit 1
}
# This is the help fuction. It helps users withe the options
function Help( ) {
# This is the help fuction. It helps users with the options
# This is the help fuction. It helps users with the options
function Help( ) {
echo "Usage: install.sh [option]"
echo "Options:"
echo " -h: Show this help message and exit"
echo " -d: Install only dependencies"
echo " -p: Install only python dependencies (including playwright)"
echo " -b: Install just the bot"
echo " -l: Install the bot and the python dependencies"
echo -e "\t-h: Show this help message and exit"
echo -e "\t-d: Install only dependencies"
echo -e "\t -p: Install only python dependencies (including playwright)"
echo -e "\t -b: Install just the bot"
echo -e "\t -l: Install the bot and the python dependencies"
}
# Options
@ -45,7 +46,7 @@ while getopts ":hydpbl" option; do
done
# Install dependencies for MacOS
function install_macos( ) {
function install_macos( ) {
# Check if homebrew is installed
if [ ! command -v brew & > /dev/null ] ; then
echo "Installing Homebrew"
@ -72,31 +73,31 @@ function install_macos(){
}
# Function to install for arch (and other forks like manjaro)
function install_arch( ) {
function install_arch( ) {
echo "Installing required packages"
sudo pacman -S --needed python3 tk git && python3 -m ensurepip unzip || install_fail
sudo pacman -S --needed python3 python-pipx tk git unzip
python -m ensurepip || install_fail
}
# Function to install for debian (and ubuntu)
function install_deb( ) {
function install_deb( ) {
echo "Installing required packages"
sudo apt install python3 python3-dev python3-tk python3-pip unzip || install_fail
sudo apt install python3 pipx p ython3-dev python3-tk python3-pip unzip || install_fail
}
# Function to install for fedora (and other forks)
function install_fedora( ) {
function install_fedora( ) {
echo "Installing required packages"
sudo dnf install python3 python3-tkinter python3-pip python3-devel unzip || install_fail
sudo dnf install python3 pipx p ython3-tkinter python3-pip python3-devel unzip || install_fail
}
# Function to install for centos (and other forks based on it)
function install_centos( ) {
function install_centos( ) {
echo "Installing required packages"
sudo yum install -y python3 || install_fail
sudo yum install -y python3-tkinter epel-release python3-pip unzip|| install_fail
sudo yum install -y python3-tkinter pipx epel-release python3-pip unzip python3 || install_fail
}
function get_the_bot( ) {
function get_the_bot( ) {
echo "Downloading the bot"
rm -rf RedditVideoMakerBot-master
curl -sL https://github.com/elebumm/RedditVideoMakerBot/archive/refs/heads/master.zip -o master.zip
@ -105,26 +106,27 @@ function get_the_bot(){
}
#install python dependencies
function install_python_dep( ) {
function install_python_dep( ) {
# tell the user that the script is going to install the python dependencies
echo "Installing python dependencies"
# cd into the directory
cd RedditVideoMakerBot-master
# install the dependencies
pip3 install -r requirements.txt
# cd out
cd ..
DEP_LIST = ./RedditVideoMakerBot-master/requirements.txt
if [ [ -f $DEP_LIST ] ] ; then
while read -r DEPS; do
pipx install $DEPS
done < " $DEP_LIST "
fi
}
# install playwright function
function install_playwright( ) {
function install_playwright( ) {
# tell the user that the script is going to install playwright
echo "Installing playwright"
# cd into the directory where the script is downloaded
cd RedditVideoMakerBot-master
# run the install script
python3 -m playwright install
python3 -m playwright install-deps
pipx run playwright install
pipx run playwright install-deps
# give a note
printf "Note, if these gave any errors, playwright may not be officially supported on your OS, check this issues page for support\nhttps://github.com/microsoft/playwright/issues"
if [ -x " $( command -v pacman) " ] ; then
@ -134,7 +136,7 @@ function install_playwright(){
}
# Install depndencies
function install_deps( ) {
function install_deps( ) {
# if the platform is mac, install macos
if [ " $( uname) " = = "Darwin" ] ; then
install_macos || install_fail
@ -164,7 +166,7 @@ https://github.com/elebumm/RedditVideoMakerBot"
}
# Main function
function install_main( ) {
function install_main( ) {
# Print that are installing
echo "Installing..."
# if -y (assume yes) continue