#!/bin/sh

# moviedata - tant donn un titre de film, renvoie tous ceux qui
#   correspondent s'il y en a plusieurs. Si un seul film convient, 
#   en donne le rsum. Utilise Internet Movie Database (imdb.com)

imdburl="http://us.imdb.com/Tsearch?restrict=Movies+only&title="
imdburl="http://us.imdb.com/find?tt=on;mx=20;q="
titleurl="http://us.imdb.com/Title?"
tempout="/tmp/moviedata.$$"

summarize_film()
{
   # Produit un rsum attrayant du film 

   grep "^<title>" $tempout | sed 's/<[^>]*>//g;s/(more)//'
   grep '<b class="ch">Plot Outline:</b>' $tempout | \
     sed 's/<[^>]*>//g;s/(more)//;s/(view trailer)//' |fmt|sed 's/^/  /'
   exit 0
}

trap "rm -f $tempout" 0 1 15

if [ $# -eq 0 ] ; then
  echo "Syntaxe: $0 { titre de film | identifiant de film }" >&2 
  exit 1
fi

fixedname="$(echo $@ | tr ' ' '+')"     # pour l'URL

if [ $# -eq 1 ] ; then
  nodigits="$(echo $1 | sed 's/[[:digit:]]*//g')"
  if [ -z "$nodigits" ] ; then
    lynx -source "$titleurl$fixedname" > $tempout
    summarize_film
  fi
fi

url="$imdburl$fixedname"

lynx -source $url > $tempout

if [ ! -z "$(grep "IMDb title search" $tempout)" ] ; then
  grep 'href="/title/tt' $tempout | \
    sed 's| *<tr.*a href="/title/tt\([0-9]*\)/">\([^>]*\)</a>.*|\1 -- \2|' | \
    sort -u | \
    more
else
  summarize_film
fi

exit 0
