#!/mod/bin/jimsh require system.class proc dedupprocess {file} {{seen {}}} { set ts [ts fetch $file 1] if {[$ts flag "Deduped"]} { lappend seen [file rootname [file tail $file]] return [list nothing $ts "" ""] } 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 {[$ts inuse]} { 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 $ts set_deduped } elseif {[file exists "$dir/$fn.ts"]} { set stat preserve } lappend seen $fn return [list $stat $ts $syn $fn] }