Email address obfuscation in effect -- please
click here to turn it off.
[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
- To: MLUG membership <EMAIL:PROTECTED>
- Subject: [MLUG] script for keeping track of DVDs
- From: Mike Miller <EMAIL:PROTECTED>
- Date: Sun, 13 Jan 2008 22:14:50 -0600 (CST)
- Delivery-date: Sun, 13 Jan 2008 22:15:15 -0600
- Envelope-to: EMAIL:PROTECTED
- Reply-to: MLUG Members <EMAIL:PROTECTED>
- Sender: EMAIL:PROTECTED
See the attached script. It is a bash script and it requires that wget,
perl and the usual GNU versions of egrep, grep and date are in the path.
This script allows you to maintain a web page that has this format:
http://taxa.epi.umn.edu/DVD_example2.html
Every time you want to add a DVD at the bottom of the table, just go to
IMDb.com, find the movie there, then do this from your command line:
movie_add URL
where "URL" is the IMDb URL for the movie title.
I'm using this to keep track of DVDs I own. It can also be used instead
to keep track of which movies you've seen -- just add a line for each
movie and put a short review or rating in the "notes" area.
Mike
#!/bin/bash
# Script name: movie_add
#
# Author: Michael B. Miller http://taxa.epi.umn.edu/~mbmiller/
#
# License: GNU General Public License, Version 3 or later:
# http://www.gnu.org/copyleft/gpl.html
#
# This script is for helping the user to keep track of a DVD
# collection. You might want to lend some of your DVDs to your
# friends and this will provide you with a nice shareable list and a
# way to add notes to it (e.g., to keep track of who you lent your DVD
# to). The script takes an Internet Movie Database (IMDb) URL for a
# movie title as input and it uses the IMDb information to add a row
# for that movie at the end of an HTML table. This makes it easy to
# maintain a page with this format:
#
# http://taxa.epi.umn.edu/DVD_example2.html
#
# You must create the initial lines of the HTML file including the
# beginning of the table for DVD records. Here is an example of such
# a template file:
#
# http://taxa.epi.umn.edu/DVD_example.html
#
# That file is freely available for you to use and to edit as you please.
#
# Syntax:
#
# movie_add URL
#
# where "URL" is an IMDb URL for a movie title such as
# http://www.imdb.com/title/tt0068646/
#
# Every line of the table is represented as three lines in the HTML.
# To add/edit a note to a movie record, just go to the end of its
# third line in the HTML and insert the note near the end between
# "<TD> " and "</TD></TR>".
#
# To go from the empty template "example" file above to the "example2"
# file with three movies listed, I would only have to run these three
# commands and use an editor to at the "note" (assuming that the
# "example" template was set to be my default file --see below):
#
# movie_add http://www.imdb.com/title/tt0116282/
# movie_add http://www.imdb.com/title/tt0075686/
# movie_add http://www.imdb.com/title/tt0088258/
#
# How does this script know which file to change? This is determined
# by the "export file=" line below. If you would like to use a
# different default file for keeping track of your DVDs, you must
# change that line. It is also possible to work with a file other
# than the default file simply by specifying the filename on the
# command line:
#
# movie_add URL filename
export file="$HOME/www/DVD_library/index.html"
if [ "$#" -lt 1 ]; then
echo ERROR: no arguments were given but $0 requires that either one or two arguments be given
echo try using this command to get more information:
echo less $0
else
export URL="$1"
if [ "$#" = "2" ]; then
export file="$2"
fi
if [ "$#" -gt 2 ]; then
echo ERROR: $# arguments were given but $0 requires that either one or two arguments be given
echo try using this command to get more information:
echo less $0
else
# There are two lines of code below. The first line is wrapped
# for readability.
wget -q -O - "$URL" | grep -P -A1 '<title>.+</title>|<b>User Rating:</b>' | \
egrep -v 'meta name|^--|User Rating:' | \
perl -pe "s#<title>#\n<TR><TD> <a href=\042$URL\042># ; \
s#</title>#</a> </TD># ; \
s#<b>([0-9]+.*[0-9]*)/10</b> *#<TD align=center><a href=\042${URL}/ratings\042>\$1</a></TD># ; \
s#//ratings#/ratings#" >> "$file"
echo '<TD> '$(date +"%B %e, %Y")'</TD><TD> </TD></TR>' >> "$file"
fi
fi
_______________________________________________
members mailing list
EMAIL:PROTECTED
http://mlug.missouri.edu/mailman/listinfo/members