#!/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 "}"