#!/bin/bash

if [[ -z $1 ]]; then
	echo "Usage: ${0##*/} SED_EXTENDED_EXPRESSION" >&2
	echo "Example: ${0##*/} 's/.*([0-9])+x([0-9]+).*/s0\1e\2/'  # blah_1x02_blah -> s01e02"
	exit 1
fi
sed_expr=$1

# remove existing symlinks
find . -type l -name "*.srt" -exec rm {} \+

for f in *.srt; do
	lang=${f%*.srt}
	lang=${lang##*.}
	[[ -z $lang ]] && {
		echo "$f: failed to guess language" >&2
		continue
	}

	n=`echo "${f%*.*.srt}" | sed -r "$sed_expr"`
	[[ -z $n ]] && continue

	n=`find . -name "*.srt" -prune -o -name "*$n*.[^.]*" -printf "%P\n"  | head -1`
	[[ -z $n ]] && {
		echo "$f: failed to guess video file" >&2
		continue
	}

	title=${n%*.}

	# format additional ones as: .<lang><N>.srt
	i=0
	while true; do
		lngN="$lang$i"
		let i+=1

		[[ ! -e "$title.$lngN.srt" ]] && break
	done

	ln -s -T "$f" "$title.$lngN.srt"
done
