#!/bin/sh
help() {
	echo "Usage: lwn2pdb ARTICLE"
	echo
	echo "lwn2pdb download an LWN Weekly News article from LWN.net, convert to pdb doc and"
	echo "install into your palm device. It requires wget, and txt2pdbdoc."
	echo 
	echo "Report bugs to <kitty@kitty.in.th>"
}

if [ -z $1 ]; then
	help
	exit 1
fi

DATADIR=$HOME/data/download/palm
#DATADIR=$PWD
HTML2PDBTXT=`which html2pdbtxt`
TXT2PDBDOC=`which txt2pdbdoc`
GPILOTINSTALL=`which gpilot-install-file`

if [ -z $HTML2PDBTXT -o -z $TXT2PDBDOC ]; then
	echo "lwn2pdb requires package 'txt2pdbdoc', please install the package."
	exit 1
fi

echo -n "Getting LWN Page (Article $1) .... "
wget -q -O /tmp/lwn.html "http://lwn.net/Articles/$1/bigpage?format=printable"
echo "Done"
$HTML2PDBTXT /tmp/lwn.html | sed "1,10d" > /tmp/lwn.txt
TITLE=`grep "LWN.net Weekly Edition for" /tmp/lwn.txt`
if [ -z $TITLE ]; then
	echo "The article $1 is not LWN Weekly News. Aborted."
	exit 1;
fi
DOCTITLE=`echo $TITLE | awk '{print "LWN " $5 " " $6 " "$7}'`
MM=`echo $TITLE | awk '{print $5}'`
DD=`echo $TITLE | awk '{print $6}' | cut -d, -f1`
YY=`echo $TITLE | awk '{print $7}'`
case $MM in
	"January" )		MM="01";;
	"February" )	MM="02";;
	"March" )			MM="03";;
	"April" )			MM="04";;
	"May" )				MM="05";;
	"June" )			MM="06";;
	"July" )			MM="07";;
	"August" )		MM="08";;
	"September" )	MM="09";;
	"October" )		MM="10";;
	"November" )	MM="11";;
	"December" )	MM="12";;
esac
DOCFILE=`echo LWN-$YY-$MM-$DD.pdb`
echo "This is $TITLE"
echo "Doc Title: $DOCTITLE"
echo "Doc File: $DOCFILE"
$TXT2PDBDOC "$DOCTITLE" /tmp/lwn.txt $DATADIR/$DOCFILE
rm -f /tmp/lwn.txt /tmp/lwn.html
echo "Saved to $DATADIR/$DOCFILE"
if [ -n $GPILOTINSTALL ]; then
	$GPILOTINSTALL -n $DATADIR/$DOCFILE
fi
