Skip to content

yacn/DoesTheDogWatchPlex

 
 

Repository files navigation

DoesTheDogWatchPlex

An integration of DoesTheDogDie.com and Plex Media Server

Demonstration of DoesTheDogWatchPlex using Marvel's Infinity War

What does this do?

This modifies the summaries of movies to contain content warnings from DoesTheDogDie.com.

Why?

Some of the people using my Plex server (myself included) sometimes go through rough patches, and don't want to stumble into a movie that happens to contain something like, a pet dying, sexual assault, or other things. However, alt-tabbing to DoesTheDogDie.com can get tiresome, so this exists, meaning you can see brief previews of the data from DoesTheDogDie.com without ever leaving the Plex interface.

What is the web API?

To speed up requests, a web API wrapper can be used - this is so that, if many different versions of this app are hitting the same API, only one request will need to hit the original DTDD, without having all the different versions have access to the memcache. It also means other tools that wish to use DTDD can also call upon the API, whether that be a proper Plex agent, or some other tool for you Jellyfin weirdos.

I recommend you use the API that is set in the example config (dtdd.valknight.xyz), as that means the more users there are, the more likely your requested media is to be cached, however, if you are privacy conscious, you can setup your own, or avoid the web API solution altogether.

How to get started (CLI tools)

  1. Install python 3.4+ and create a virtual environment for this
  2. Execute pip install -r requirements.txt
  3. Copy config.py.example to config.py, and fill out the data with what is relevant to your setup
  4. Execute python build_json.py, and sit back and wait for the movies.json file to be generated
  5. Once this file is generated, check over it, and make a Plex Media Server database backup (from this point on, all metadata changes will be permanent to your server)
  6. Run python write_to_plex.py

To update the content warnings, run build_json.py again, and then write_to_plex.py - anything below the line reading doesthedogdie: will simply be removed, and replaced with the new updated content warnings (anything above shouldn't be touched)

How to get started (DTDD web API wrapper)

This will run the server in a debug mode. For production, please look up the recommended way to run a Flask app in production for your platform and requirements.

  1. Install python 3.4+ and create a virtual environment for this

Recommended: setup memcache - this will greatly improve performance

  1. Execute pip install -r requirements.txt
  2. Copy config.py.example to config.py, and fill out the data with what is relevant to your setup
  3. Run python dtdd_apip.py

Plans

  • TV series support
  • Moving to an agent instead of this hacky setup
  • Customizing splitter between the actual summary and content warnings

LICENSE

This project is licensed under the MIT license.

About

DoesTheDogDie.com + Plex Integration

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.3%
  • Other 1.7%