forked from hummypkg/webif
d7284ff3ef
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@1016 2a923420-c742-0410-a762-8d5b09965624
67 lines
1.4 KiB
Plaintext
Executable File
67 lines
1.4 KiB
Plaintext
Executable File
#!/mod/bin/jimsh
|
|
|
|
package require sqlite3
|
|
package require cgi
|
|
source /mod/webif/lib/setup
|
|
require ts.class
|
|
|
|
puts "Content-Type: text/html\r\n\r\n"
|
|
|
|
cgi_input
|
|
#cgi_dump
|
|
|
|
set rfile [cgi_get file]
|
|
set ts [ts fetch $rfile]
|
|
set dir [file dirname $rfile]
|
|
set len [$ts duration 1]
|
|
lassign [$ts dlnaloc] url
|
|
|
|
if {$url eq ""} {
|
|
puts "This file has not been indexed by the media server.
|
|
Cannot decrypt."
|
|
exit
|
|
}
|
|
|
|
set xstart [clock milliseconds]
|
|
|
|
set base [file rootname $rfile]
|
|
set origdir "$dir/_original"
|
|
if {![file exists $origdir]} { file mkdir $origdir }
|
|
|
|
set shname [file tail $base]
|
|
puts "Processing $shname"
|
|
|
|
if {[file exists "$origdir/$shname.ts"]} {
|
|
puts "The file already exists in _original, cannot decrypt."
|
|
exit
|
|
}
|
|
|
|
exec wget -O "$rfile.decrypting" $url
|
|
|
|
puts "Moving recording to $origdir"
|
|
|
|
foreach f [glob -nocomplain "${base}.*"] {
|
|
if {[file extension $f] eq ".decrypting"} { continue }
|
|
set tail [file tail $f]
|
|
puts " $tail"
|
|
file rename $f "${origdir}/$tail"
|
|
}
|
|
|
|
file rename "$rfile.decrypting" $rfile
|
|
|
|
foreach ext {nts hmt thm} {
|
|
set sidecar "$shname.$ext"
|
|
if {[file exists "$origdir/$sidecar"]} {
|
|
puts "Copying back sidecar $ext"
|
|
file copy "$origdir/$sidecar" "$dir/$sidecar"
|
|
}
|
|
}
|
|
|
|
if {[file exists "$dir/$shname.hmt"]} {
|
|
exec /mod/bin/hmt -encrypted "$dir/$shname.hmt"
|
|
}
|
|
|
|
set xtime [expr [expr [clock milliseconds] - $xstart] / 1000.0]
|
|
puts "Time taken: $xtime"
|
|
|