#!/bin/bash

BASE_DIR="`~/bin/video/mediaPath`/YouTube"
DIR="`basename "${1}"`"

cd "${BASE_DIR}"
for k in *; do
	if [ ! -d "${BASE_DIR}/${k}" ]; then
		continue
	fi

	if [ -n "${DIR}" ] && [ "${k}" != "${DIR}" ]; then
		continue
	fi

	cd "${BASE_DIR}/${k}"
	for i in S[0-9]*E[0-9]*.*; do
		s="`echo "${i}" | cut -d 'S' -f 2 | cut -d 'E' -f 1`"
		e="`echo "${i}" | cut -d 'E' -f 2 | cut -d ' ' -f 1`"
		ext="`echo "${i}" | awk -F '.' '{print $NF}'`"
		id="`echo "${i}" | sed 's%^S[0-9]*E[0-9]* - \(.*\)\.'"${ext}"'$%\1%'`"

		# Duplicate by season/episode
		if [ `ls "S${s}E${e} - "*".${ext}" | wc -l` -gt 1 ]; then
			echo "Duplicate season/episode: ${k}/${i}"
		fi

		# Duplicate by ID
		if [ `ls S[0-9]*E[0-9]*" - ${id}.${ext}" | wc -l` -gt 1 ]; then
			echo "Duplicate id: ${k}/${i}"
		fi

		# Type-specific checks
		if [ "${ext}" == "nfo" ]; then
			# Missing video
			n="`echo "${i}" | sed 's%\.'"${ext}"'$%%'`"
			if [ `ls "${n}".* | grep -v "${i}" | wc -l` -ne 1 ]; then
				echo "Missing video: ${k}/${i}"
			fi
		else
			# Missing NFO
			n="`echo "${i}" | sed 's%\.'"${ext}"'$%.nfo%'`"
			if [ ! -r "${n}" ]; then
				echo "Missing NFO: ${k}/${i}"
			fi

			# Duplicate by type-id
			if [ `ls S[0-9]*E[0-9]*" - ${id}."* | grep -v '\.nfo$' | wc -l` -gt 1 ]; then
				echo "Duplicate video by type-id: ${k}/${i}"
			fi

			# Duplicate by type-season
			if [ `ls "S${s}E${e} - "*.* | grep -v '\.nfo$' | wc -l` -gt 1 ]; then
				echo "Duplicate video by type-season: ${k}/${i}"
			fi
		fi
	done
done
