git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1420 2a923420-c742-0410-a762-8d5b09965624
92 lines
1.6 KiB
Plaintext
Executable File
92 lines
1.6 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
source /mod/webif/lib/setup
|
|
require ts.class
|
|
|
|
source /mod/webif/html/dedup/normalise.jim
|
|
source /mod/webif/html/dedup/process.jim
|
|
|
|
set dirs {}
|
|
|
|
set auto 0
|
|
set doit 0
|
|
foreach arg $argv {
|
|
if {$arg eq "-yes"} {
|
|
set doit 1
|
|
} elseif {$arg eq "-auto"} {
|
|
set auto 1
|
|
} else {
|
|
lappend dirs $arg
|
|
}
|
|
}
|
|
if {![llength $dirs]} { lappend dirs [exec pwd] }
|
|
|
|
foreach dir $dirs {
|
|
if {[string index $dir end] eq "/"} {
|
|
set dir [string range $dir 0 end-1]
|
|
}
|
|
if {!$auto} { puts "\[$dir\]" }
|
|
loadseries $dir
|
|
|
|
foreach file [readdir $dir] {
|
|
if {[file extension $file] ne ".hmt"} { continue }
|
|
|
|
set file "$dir/$file"
|
|
|
|
set base [file tail [file rootname $file]]
|
|
lassign [dedupprocess $file] stat ts syn fn
|
|
|
|
set rdone 0
|
|
set result $stat
|
|
switch $stat {
|
|
inuse {
|
|
set result "In Use"
|
|
}
|
|
dup {
|
|
set result "Duplicate"
|
|
if {$doit} {
|
|
set dupdir "$dir/_duplicates"
|
|
if {![file exists $dupdir]} {
|
|
file mkdir $dupdir
|
|
}
|
|
while {[file exists $dupdir/$fn.hmt]} {
|
|
append fn "~"
|
|
}
|
|
ts renamegroup $file "_duplicates/$fn"
|
|
puts -nonewline "$base -> $result"
|
|
puts " - Renamed to _duplicates/$fn"
|
|
incr rdone
|
|
}
|
|
}
|
|
error {
|
|
set result "Cannot process"
|
|
}
|
|
nothing {
|
|
set result "Nothing to do"
|
|
}
|
|
preserve {
|
|
set result "Preserving"
|
|
}
|
|
ok {
|
|
set result $fn
|
|
if {$doit} {
|
|
# Dooooo, it.
|
|
$ts settitle $syn
|
|
ts renamegroup $file $fn
|
|
$ts set_deduped
|
|
}
|
|
}
|
|
}
|
|
if {!$rdone} {
|
|
if {$auto} {
|
|
if {$result ne "Nothing to do"} {
|
|
puts "$base -> $result"
|
|
}
|
|
} else {
|
|
puts "$base -> $result"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|