source /mod/webif/lib/setup require lock system.class ts.class pretty_size browse.class \ safe_delete settings.class plugin proc log {msg {level 1}} { puts "[\ clock format [clock seconds] -format "%d/%m/%Y %H:%M"\ ] - $msg" } proc elapsed {start} { return $(([clock milliseconds] - $start) / 1000.0) } proc startclock {} { set ::startclock_s [clock milliseconds] } proc endclock {size} { set el [elapsed $::startclock_s] set rate $($size / $el) return "[pretty_size $size] in $el seconds - [pretty_size $rate]/s" } proc register {args} {} proc scan_run {dir flag callback {seen {}}} { global dustbin if {[string match {\[*} [string trimleft [file tail $dir]]]} return file stat $dir st set key "$st(dev):$st(ino)" if {$key in $seen} { log "Already seen $dir ($key)" 2 return } lappend seen $key if {[file exists "$dir/.$flag"]} { $callback $dir } foreach entry [readdir -nocomplain $dir] { if {[file isdirectory "$dir/$entry"]} { scan_run "$dir/$entry" $flag $callback $seen file stat "$dir/$entry" st set key "$st(dev):$st(ino)" lappend seen $key } } } set root [system mediaroot] source /mod/webif/plugin/sweeper/auto.hook