/Rollarr

This is the new and improved Plex Automatic Pre-roll script with a GUI

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Rollarr

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

What is this?

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!

Requirements

-Python 3.7+ (Probably works on a lower version haven't tested)

-PlexAPI

Installation

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

Windows Step by step instructions by Danny at smarthomepursuits.com

https://smarthomepursuits.com/how-to-setup-plex-automatic-pre-roll-gui-in-windows/

Mac OS

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>

Linux

Check to make sure you have the correct version

python3 --version

Run the script

python <file name with full path>

Settings

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!

Usage

Setting Plex Preroll

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!

Running For The First Time

The first time you run it you will see this: image

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

The path to the videos must be reachable by your Plex Server!

Monthly: image

Weekly: image

Daily: image

Holiday (If you want another holiday you can add that by using the weekly function and setting a date) : image

Custom: image

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

image

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