Bash scripts to configure develop environment and run main script
This commit is contained in:
parent
9cd328e2f2
commit
c0de346bdf
25
install.sh
Executable file
25
install.sh
Executable 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
58
run_me.sh
Executable 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
|
Loading…
x
Reference in New Issue
Block a user