scribble-mathjax/mathjax-dev/packer/packMJ
2010-08-10 12:01:12 +00:00

39 lines
1012 B
Perl
Executable File

#! /usr/local/bin/perl
$SRC = "../SourceForge/trunk/mathjax/unpacked";
$DST = $SRC; $DST =~ s!/unpacked$!!;
sub packDir {
my ($src,$dst) = @_;
opendir(SRC,$src);
my @files = grep(/^[^.]/,readdir(SRC));
closedir(SRC);
foreach my $file (@files) {
if (-d "$src/$file") {
next if "$src/$file" eq "$SRC/fonts";
next if "$src/$file" eq "$SRC/docs";
next if "$src/$file" eq "$SRC/unpacked";
if (! -e "$dst/$file") {mkdir "$dst/$file"}
packDir("$src/$file","$dst/$file");
} elsif ($file =~ m/\.js$/) {
packFile($src,$dst,$file);
}
}
}
sub packFile {
my ($src,$dst,$file) = @_;
$src .= "/$file"; $dst .= "/$file";
my ($stime,$ssize) = (stat($src))[9,7];
my $dtime = (stat($dst))[9];
return if $stime <= $dtime || $ssize <= 1024;
system("./packMJfile '$src' '$dst'");
my $dsize = (stat($dst))[7];
print "Size: $dsize, Original: $ssize [",$ssize-$dsize," or ",
sprintf("%.1f",100*($ssize-$dsize)/$ssize),"%]\n";
}
packDir($SRC,$DST);
1;