chriswere.wales

Movie

Movie is a small Bash script for maintaining a personal list of films, television series, podcasts and online video ratings.

The script can be viewed and downloaded here.

Entries are stored in a plain text CSV file, and the script generates a set of static HTML pages sorted in different ways. The goal is to keep everything simple, portable and easy to edit by hand.

Features

Requirements

Movie requires:

Data Format

All entries are stored in movies.csv.

The first line is a header and is ignored when generating pages.

Each subsequent line has the format:

review-date|title|release-year|rating|category

Example:

2026-07-02|The Third Man|1949|10|Film
2026-07-03|The Prisoner|1967|9|TV series
2026-07-04|Some Podcast|2025|8|Podcast

The default categories are:

Generated Pages

Running the generator produces four pages:

File Sorted by
index.html Rating
recent.html Review date
year.html Release year
title.html Title

Each page contains the same entries presented in a different order.

Usage

Generate all pages:

movie gen

Add a new entry:

movie add

Delete the most recently added entry:

movie del

Edit the CSV file manually:

movie ed

The editor used is determined by the EDITOR environment variable. If EDITOR is not set, nano is used.

Philosophy

Movie deliberately avoids databases, JavaScript and complex dependencies.

The ratings database is a plain text file that can be viewed, searched, backed up and edited with any text editor. HTML pages are generated directly from the CSV using standard Unix tools, making the script easy to understand and modify.