#!/mod/bin/jimsh

require system.class

proc dedupprocess {file} {{seen {}}} {
	set ts [ts fetch $file 1]
	set dir [file dirname $file]
	set base [file tail [file rootname $file]]
	set syn [dedupnormalise [$ts get synopsis] [$ts get title]]
	# Escape special characters to create the filename.
	regsub -all -- {[\/ &]} $syn "_" fn
	regsub -all -- {[?]} $fn "" fn

	set stat ok
	if {[system inuse [file rootname $file]]} {
		set stat inuse
	} elseif {$fn in $seen} {
		set stat dup
	} elseif {[string length $syn] > 40} {
		set stat error
	} elseif {$base eq $fn} {
		set stat nothing
	} elseif {[file exists "$dir/$fn.ts"]} {
		set stat preserve
	}

	lappend seen $fn

	return [list $stat $ts $syn $fn]
}

