Bash scripts to configure develop environment and run main script

This commit is contained in:
Davte 2019-07-18 20:24:41 +02:00
parent 9cd328e2f2
commit c0de346bdf
2 changed files with 83 additions and 0 deletions

25
install.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# Get current directory
this_script_directory=$(cd `dirname $0` && pwd);
cd "$this_script_directory";
configuration_file="$this_script_directory/my_config.sh";
passwords_file="$this_script_directory/ciclopibot/data/passwords.py";
# Create intermediate path for passwords_file, if it does not exist
mkdir -p "$this_script_directory/ciclopibot/data/";
read -p "Enter a name for your virtual environment
" venv_name;
python3 -m venv "$venv_name";
"$venv_name"/bin/pip install -r "$this_script_directory/requirements.txt";
# Please note that this will work only in a Unix-like operating system.
# Other systems may require a different path.
echo "python_virtual_environment=\"$(pwd)/$venv_name/bin\";" >> "$configuration_file";
echo "python_script=\"$this_script_directory/ciclopibot/bot.py\";" >> "$configuration_file";
read -p "Enter a valid Telegram bot token " bot_token;
echo "bot_token = \"$bot_token\"" >> $passwords_file;
# Run bot
bash run_me.sh;

58
run_me.sh Executable file
View File

@ -0,0 +1,58 @@
#!/bin/bash
# This file must be executable, otherwise the service cannot run it.
# Run `$python_script` while exit code is 65.
# At each iteration, pull news from repository and update dependencies.
# Get current directory
this_script_directory=$(cd `dirname $0` && pwd)
# Import variables from my_config.sh
# `$python_virtual_environment`: python virtual environment directory
# containing `python` and `pip`
# `$python_script`: complete path to python script to be run
source $this_script_directory/my_config.sh;
# Ensure the success of importing procedure:
## variables of interest should be non-zero (`-z`)
if [ -z ${python_virtual_environment} ];
then
printf "Please set in \"my_config.sh\" the path to bot python \
virtual environment\n\
\n\
Example:\n\
python_virtual_environment=\"path/to/virtual/env\"\n\
";
exit;
fi
if [ -z ${python_script} ];
then
printf "Please set in \"my_config.sh\" the path to python script to be run \
\n\
Example:\n\
python_script=\"path/to/python/script.py\"\n\
";
exit;
elif [ ! -e ${python_script} ];
then
printf "File $python_script does not exist\n\
Please point to a valid file.\n\
Example:\n\
python_script=\"path/to/python/script.py\"\n\
";
fi
echo "Python script will be run while it exits with value===65.";
i=65;
while [ $i -eq 65 ]
do
echo "Pulling from repository..."
git pull;
echo "Updating dependencies";
$python_virtual_environment/pip install --upgrade --no-cache-dir \
--no-deps davtelepot;
echo "Running python script";
$python_virtual_environment/python $python_script;
i=$?;
done