webif/var/mongoose/html/browse/sizes.jim

41 lines
927 B
Plaintext
Raw Normal View History

#!/mod/bin/jimsh
package require cgi
source /mod/webif/lib/setup
httpheader "application/json"
set dir [cgi_get dir]
set dlen [string length "$dir/"]
#9.4G /media/My Video/Archive
#1.4G /media/My Video/CSI_ Crime Scene Investigation
puts "{"
foreach line [split [exec /mod/bin/busybox/du -h -d 1 "$dir/"] "\n"] {
lassign [split $line "\t"] size node
set node [string range $node $dlen end]
puts "\"$node\" : \"$size\","
}
# Handle symbolic links.
foreach file [readdir $dir] {
set file "$dir/$file"
if {[catch {set lk [file readlink $file]}]} continue
if {![string match "/*" $lk]} { set lk "$dir/$lk" }
if {![file isdirectory $lk]} continue
foreach line [split [exec /mod/bin/busybox/du -h "$lk"] "\n"] {
set fields [split $line "\t"]
if {[lindex $fields 1] eq $lk} {
set node [file tail $file]
set size [lindex $fields 0]
puts "\"$node\" : \"@$size\","
}
}
}
puts "\"dummy\" : \"\""
puts "}"