All pastes #769822 Raw Edit

Untitled

public text v1 · immutable
·published 2007-11-11 18:21 UTC
rendered paste body
set files [glob -types d *.dump]
foreach f $files {
	set out [open [string range $f 0 [expr [string last "." $f]-1]] w]
	fconfigure $out -blocking false -buffering full -buffersize 512000 -translation binary
	set files2 [list]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*/*/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*/*/*/*/*]
	lappend files2 [glob -nocomplain -types f [string range $f 0 [expr [string last "." $f]-1]].dump/*/*/*/*/*/*/*/*]
	set tmpfiles [list]
	foreach f2 $files2 {
		foreach f0 $f2 {
			lappend tmpfiles $f0
		}
	}
	set files2 [lsort -dictionary $tmpfiles]
	set buff ""
	set count 0
	foreach f2 $files2 {
		if {$f2 ne ""} {
			append buff "[string range $f2 [expr [string first "/" $f2]+1] end]\x00[binary format I [file size $f2]]"
			incr count
		}
	}
	puts -nonewline $out [binary format I [expr [string length $buff]+7]]
	puts -nonewline $out [string range [binary format I $count] 1 3]
	puts -nonewline $out $buff
	foreach f2 $files2 {
		if {$f2 ne ""} {
			set in [open $f2 r]
			fconfigure $in -blocking false -buffering none -translation binary
			puts -nonewline $out [read $in [file size $f2]]
			close $in
			puts "$f2 packed"
		}
	}
	close $out
}