#!/bin/bash

# Usage: $0 <filename> <input_list>

# Enough parameters?
if [ ! -e "$2" ]; then
	exit 1
fi

# remove .html suffix.
if echo "$1" | grep "\.html$" &>/dev/null; then
	$0 "`echo "$1" | rev | cut -d "." -f 2- | rev`" "$2"
	exit 0
fi

# is it a rar? 
if ! echo "$1" | grep "\.rar$" &> /dev/null; then
	exit 0
fi

name=$1
part=0
# Is it a rar part?
if echo "$1" | egrep "part[0-9]+\.rar$" &> /dev/null; then 
	part=1
	name=$(echo "$1" | rev | cut -d "." -f 3- | rev)
fi

# Any more parts in the input list or fail list?
if [ $part == 1 ] && ( grep "$name" $2 &>/dev/null || grep "$name" fail.txt &>/dev/null ); then
	exit 0
fi

# Good! try to unrar and delete the rars if successful.
for pass in "-" `cat pwdict 2>/dev/null`
do
	if unrar t -y -p$pass $1 &>/dev/null && unrar x -y -p$pass $1 &> /dev/null; then
		if [ $part == 1 ]; then
			find | grep "$name" | xargs rm
		else
			rm $name
		fi
		break
	fi
done

exit 0

