mjvbz / movies-notifier

Simple notifier of new good downloadable movies.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI Docker Cloud Build Status

movies-notifier

A simple notifier of new good downloadable movies.

  1. Checks what new movies are available for download (from Popcorn-API)
  2. Checks their ratings on Rotten Tomatoes.
  3. Sends a notification if there are any good* movies with their details. Currently two types of notifications supported:
    • Upload and share via Google Sheets (requires Google Sheets API setup).
    • Email via Mailgun (requires Mailgun API setup).
    • No notification: just standard output and save a timestamped HTML table in ./data/html/

* good - currently defined as having critics and audience ratings average higher than 80%.

Google Sheets auto-sharing:

Usage:

Docker options
  1. Create a directory for local storage (between runs), e.g. mkdir ~/your_movies_data.
  2. Run using docker run --rm -v ~/your_movies_data:/movies-notifier/data artdgn/movies-notifier.
    • With no command line options this will just print the help message.
    • Specify number of movies to scan e.g. -n 100 to scan, select good movies, and print to screen.
Local python option
  1. Git clone this repo and install requirements in a virtual env using make install.
  2. Run: python run_cli.py.

Notifications (Optional):

Setting up posting notificaiton to a Google Sheets

Refer to the setup in gspread-pandas or gspread and than run with -g your-email@gmail.com to recieve a share notification with the resulting doc.

Setting up Mailgun for email notifications

After setting up the account, put the domain, api-key, and recipients in a json in movies-notifier/data/mailgun/mailgun.json or just run and check the error message for exact instructions.

Scheduling

Setup a cron job to scan and notify periodically (example script to point the cron at: scripts/example_cron.sh)

Tools and references for development:

Refences

About

Simple notifier of new good downloadable movies.


Languages

Language:Python 96.4%Language:Makefile 2.4%Language:Dockerfile 0.7%Language:Shell 0.5%