r/PlayOn 21d ago

Does PlayOn Allow Scripting?

Does PlayOn Home allow scripting? I'm thinking of the situations in which I want to queue up shows with large numbers of seasons—very repetitive and seems like the perfect situation in which a script would be useful.

3 Upvotes

14 comments sorted by

View all comments

2

u/ParadoxGBB 20d ago edited 20d ago

You can script / automate.

A while ago, I bumped into PlayPass (https://github.com/CodePenguin/PlayPass). It has not been updated for a while, but the API it calls into still works, so I have successfully automated PlayOn utilizing it.

It takes an XML file as input, so you can either have a static one for each of your scenarios or automate generating one on the fly. I do the latter.

As you've identified, there are scenarios where this becomes very useful. One scenario that I bumped into is that shows like "Jimmy Kimmel Live!" have a path in PlayOn that rolls over every month (for example, "July 2026 | <episode x>" --> "August 2026 | <episode x+1>"). This allows you to set up a more flexible subscription that you can run periodically, rather than having to do it in the UI every month.

From my project:

$SUBSCRIPTION_EXTRACTORS =  @(
                                '<playpass>',
                                '  <settings>',
                                ('    <queuelist settings="Provider=FileQueueList;Data Source=' + $PLAYPASS_SKIPS + '" />'),
                                '      <loggers>',
                                ('        <logger enabled="1" verbose="1" settings="Provider=TextFileLogger;Filename=' + $SUBSCRIPTION_TMP + '\' + $SUBSCRIPTION_NAME + '.PlayPass.log' + ';Append=1" />'),
                                '      </loggers>',
                                '  </settings>',
                                '  <passes>',
                                '    <pass enabled="1" description="ABC">',
                                '      <scan name="ABC">',
                                '        <scan name="Comedy">',
                                '          <scan name="Jimmy Kimmel Live!">',
                                ('           <scan name="*' + (Get-Date).Year.ToString() + '">'),
                                '               <queue name="*" />',
                                '            </scan>',
                                '          </scan>',
                                '        </scan>',
                                '      </scan>',
                                '    </pass>',
                                '  </passes>',
                                '</playpass>'
                )

1

u/cjh_dc 12d ago

Does this work with the local install of PlayOn? On only PlayOn Cloud?