#!/mod/bin/jimsh package require sqlite3 package require cgi source /mod/webif/lib/setup require ts.class system.class httpheader set rfile [cgi_get file] set ts [ts fetch $rfile] set dir [file dirname $rfile] set len [$ts duration 1] lassign [$ts dlnaloc "127.0.0.1"] url if {$url eq ""} { puts "This file has not been indexed by the media server. Cannot decrypt." exit } if {[system inuse $rfile]} { puts "This file is in use. Cannot decrypt at the moment." 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" set tail [file tail $base] foreach ext $tsgroup { if {![file exists "$base.$ext"]} continue puts " $tail.$ext" file rename "$base.$ext" "${origdir}/$tail.$ext" } file rename "$rfile.decrypting" $rfile file touch $rfile "$origdir/$tail.ts" 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" file touch "$dir/$sidecar" "$origdir/$tail.ts" } } 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"