webif/webif/html/browse/rename.jim

53 lines
1.1 KiB
Tcl
Executable File

#!/mod/bin/jimsh
package require cgi
source /mod/webif/lib/setup
require ts.class
httpheader
set file [cgi_get renamefile "-"]
if {$file eq "-"} exit
set newfile [string trim [cgi_get rename]]
set dir [file dirname $file]
if {[file isdirectory $file]} {
#puts "Directory."
if {$newfile ne ""} {
set newfile "${dir}/${newfile}"
file rename $file $newfile
}
} elseif {[set ts [ts fetch $file]] != 0} {
#puts "TS file."
foreach attr {title synopsis guidance genre} {
if {[catch {
set new [string map {"\n" ""} [
string trim [cgi_get "rename_$attr"]]]
set old [$ts get $attr]
if {$attr eq "title" || $attr eq "synopsis"} {
set new "\025$new"
}
if {$new ne $old} {
if {$attr eq "guidance" ||
[string length $new] > 0} {
$ts set$attr $new
}
}
} msg]} {
puts "$attr: $msg"
}
}
if {"$dir/$newfile.ts" ne "$file"} { ts renamegroup $file $newfile }
} else {
#puts "Normal file."
if {$newfile ne ""} {
set newfile "$dir/$newfile[file extension $file]"
puts "Rename ($file) -> ($newfile)"
file rename $file $newfile
}
}