Coder Social home page Coder Social logo

ccj261 / plextvstation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sharmaanupam106/tvshuffleforplex

0.0 1.0 0.0 1.51 MB

The purpose of this application is to allow a chronological shuffling of tv shows. The selected TV Shows maybe shuffled however the episodes will be selected based on next unwatched, giving a network style tv guide.

License: MIT License

Python 85.15% HTML 14.85%

plextvstation's Introduction

PlexTvStation

Description

The purpose of this application is to allow a chronological shuffling of tv shows. The selected TV Shows maybe shuffled however the episodes will be selected based on next unwatched, giving a network style tv guide.

NOTE: This is not a secure site, keep it within your local network. (no port forwarding)

High level functionalities

  • Allow users to select the plex server from which to source tv shows.
  • Allow users to multi select tv shows from which shuffled (inclusive and exclusive) episodes will be selected.
  • Allow users to save the selected tv shows as lists, making it easier to come back to the same list of shows.
  • Allow users to set the max number of episodes that will be put in the plex queue.
  • Allow users to push the generated episodes plex queue to a given client.

Note

Currently only tested on LINUX systems. - Ubuntu 20.x - Manjaro 20.x

Installation (LINUX)

REQUIREMENTS

  • Python3.8 or grater
  • All packages in requirements.txt
  1. Download the git repo
  2. Install the requirements pip3 install -r requirements.txt
  3. Generate and record a secret key. python manage.py shell -c 'from django.core.management import utils; print(utils.get_random_secret_key())'
    • Keep this handy for the next step
  4. Update the following parameters in {INSTALL PATH}/PlexTvStation/settings.py
    SECRET_KEY = "{KEY FROM STEP 3}"
    DEBUG = False
    
    • This is done for application security
  5. Make migrations
    python3 manage.py makemigrations
    python3 manage.py migrate
    
  6. Start the application python3 manage.py runserver {IP}:{PORT}

Optional

  • Create and Enable a service. (NOTE: Done under the root account, if you wish to use a different user, please use sudo when running systemctl commands)
    • Create service file touch {INSTALL PATH}/PlexTvStation.service
    • Edit the file with the following (Make sure you update all {} with the correct info)
    [Unit]
    Description=Plex TV Station
    User={USER}
    After=network.target
    StartLimitIntervalSec=0
    [Service]
    WorkingDirectory={INSTALL PATH}
    Type=simple
    Restart=always
    RestartSec=1
    ExecStart={FULL PATH TO PYTHON3} {INSTALL PATH}/PlexTvStation/manage.py runserver {IP}:{PORT}
    
    • Link the to service controller systemctl link {INSTALL PATH}/PlexTvStation.service
    • Reload daemon systemctl daemon-reload
    • Enable the service systemctl enable PlexTvStation.service
      • Will automatically start the service on boot.
    • Start the service systemctl start PlexTvStation.service
      • Check to make sure the service started normally without errors systemctl status PlexTvStation.service
  • Starting and Stopping the service
    • Start service systemctl start PlexTvStation.service
    • Stop service systemctl stop PlexTvStation.service

Troubleshooting

  • You may have update {INSTALL PATH}/PlexTvStation/settings.py
ALLOWED_HOSTS = ["localhost", "127.0.0.1", "{IP}"]
  • Read the log files at {INSTALL PATH}/PlexTvStation/plextvstation/logs
  • Read console outputs journalctl -u PlexTvStation.service
  • Google errors that might occur.

Usage

  • Login with your plex account
    http://<IP>:<PORT>/login
    
    LogIn
  • Select a plex server Server Select
  • Select TV Shows Show Select
  • Shuffle the Shows
    • Inclusive/Exclusive select
    • Max episodes in generate queue Shuffle
  • Shuffle the list
  • Select a client to push the queue to Client Push
  • Save the selected list Save List
  • Select saved List Select List

plextvstation's People

Contributors

sharmaanupam106 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.