From e43daf1cdd92d9e02867aa4cee4ec6678873287b Mon Sep 17 00:00:00 2001 From: Justin Emter Date: Sun, 20 Aug 2017 15:33:49 -0700 Subject: [PATCH] Script to automatically update all channels local db's with newly added plex items / xml edits. --- bash-scripts/updatechannels.sh | 69 ++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 bash-scripts/updatechannels.sh diff --git a/bash-scripts/updatechannels.sh b/bash-scripts/updatechannels.sh new file mode 100644 index 0000000..131a582 --- /dev/null +++ b/bash-scripts/updatechannels.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# file: updatechannels.sh + +#---- +# Simple script to updates each channels local db with new Plex lib items / xml. +#---- + +#---- +# To Use: +# If you added new content to your Plex Library, just make this file executable and run ./updatechannels.sh +#---- + +# Make sure that each channel dir ends with a "_" + an incrementing number as seen above. + +#----BEGIN EDITABLE VARS---- + +SCRIPT_TO_EXECUTE_PLUS_ARGS='PseudoChannel.py -u -xml' + +OUTPUT_PREV_CHANNEL_PATH=. + +CHANNEL_DIR_INCREMENT_SYMBOL="_" + +PYTHON_TO_USE="$(which python)" + +# If using 'virtualenv' with python, specify the local virtualenv dir. +VIRTUAL_ENV_DIR="env" + +#----END EDITABLE VARS------- + +# If virtualenv specified & exists, using that version of python instead. +if [ -d "$VIRTUAL_ENV_DIR" ]; then + + PYTHON_TO_USE="$VIRTUAL_ENV_DIR/bin/python" + +fi + +# If the file exists b + +# Scan the dir to see how many channels there are, store them in an arr. +CHANNEL_DIR_ARR=( $(find . -maxdepth 1 -type d -name '*'"$CHANNEL_DIR_INCREMENT_SYMBOL"'[[:digit:]]' -printf "%P\n") ) + +# If this script see's there are multiple channels, +# then loop through each channel and run the updates +if [ "${#CHANNEL_DIR_ARR[@]}" -gt 1 ]; then + + # If virtualenv specified & exists, using that version of python instead. + if [ -d ./"$channel"/"$VIRTUAL_ENV_DIR" ]; then + + PYTHON_TO_USE=./"$channel"/"$VIRTUAL_ENV_DIR/bin/python" + + fi + + echo "+++++ There are ${#CHANNEL_DIR_ARR[@]} channels detected." + + for channel in "${CHANNEL_DIR_ARR[@]}" + do + + echo "+++++ Trying to update: ""$PYTHON_TO_USE" ./"$channel"/$SCRIPT_TO_EXECUTE_PLUS_ARGS + # If the running.pid file doesn't exists, create it, start PseudoChannel.py and add the PID to it. + "$PYTHON_TO_USE" ./"$channel"/$SCRIPT_TO_EXECUTE_PLUS_ARGS + + sleep 1 + + done + +fi + +exit 0 \ No newline at end of file