This is the new and improved Automatic Pre-roll script with a GUI for Plex now called Rollarr! It should be stable but if you find a bug please let me know
This is a python script with GUI that allows you to automate your Plex Server Pre-roll. You can find out more about Plex Pre-roll here: https://support.plex.tv/articles/202920803-extras/ You can specify if you would like your pre-roll updated monthly, weekly, daily, or for specific holidays. For example you can have this setup to apply a standard Pre-roll during regular times of the year and then during holidays update the pre-roll automatically!
-Python 3.7+ (Probably works on a lower version haven't tested)
If you are on windows you can download the dist.zip file and run the excecutable. However you will still need to download the PrerollUpdate.py script if you want to have it update automatically in the background This is now packaged in the dist.zip file
First make sure you have Python installed version 3.7 and above. Next run:
pip install -r requirements.txt
That will install all the needed packages
https://smarthomepursuits.com/how-to-setup-plex-automatic-pre-roll-gui-in-windows/
Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Set Path Variable
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Set Path Variable 10.12 and below
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Install Python
brew install python
Install packages
pip install -r requirements.txt
Run the script
python <file name with full path>
Check to make sure you have the correct version
python3 --version
Run the script
python <file name with full path>
The config.yml file is created through the script automatically with no user input needed now. All changes are now made through the GUI YAY!
You need to schedule a job for updating the preroll each day, week, or month depending how you want your pre-rolls updated. You will now point this at the PrerollUpdate.py script
macOS or Linux: Ex: Monthly
crontab -e
0 0 * 1-12 * python /path/to/scripts/PrerollUpdate.py 2>&1
Windows:
Verify python is added to the PATH environmental variable Search for task schedular and open it. Click "Create Basic Task" and enter a name and description. Then set the task to run monthly. Choose "Start a program" then for "Program/script" add the full path of the PrerollUpdate.py script Click "Finish" and you are done!
The first time you run it you will see this:
Fill in all the fields for your plex IP and Token
How to get token: https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/
You can then setup a default pre-roll if you want or leave it blank
To set specific pre-roll fuctions select which type you want (Monthly, Weekly, Daily, Holiday Custom), You will then see more fields on the right
Holiday (If you want another holiday you can add that by using the weekly function and setting a date) :
Once you finish setting that up whatever you select in the Schedule section will be what the script will run on
For example in this photo
I have selected Holiday and enabled the Christmas list therefore it will run through my Christmas list. If it does not find one enabled, finds empty strings, or does not match the holiday dates set in the system it will attempt to pull from the Default files.
I hope this is useful for some people and feel free to post any ideas or bugs