| |
Name |
|
Date |
Size |
FILES
@files = recurse_imports($temp_path."/");
foreach $file (sort @files)
{
if (-d $temp_path."/".$file)
{
if ($file =~ /$title\//)
{
$file =~ s/^.*\///;
$title .= " - $file";
}
else
{ $title = $file; }
next;
}
my @stats = stat($temp_path."/".$file);
$inc += display_import({filename => $file, date => $stats[9], size => $stats[7]}, $r, $i);
$size += $stats[7];
$r = $r ? 0 : 1;
$i++;
}
print qq!| total size: !.(sprintf "%0.1fmb",$size/1000000).qq! |
\n\n!;
return ($title, $inc, $size);
}
sub recurse_imports
{
my $d = shift;
return unless (-d $d);
my @files;
opendir (DIR, $d) or die "couldn't list: $d, $!";
@files = grep (!/^\./, sort readdir (DIR));
closedir DIR;
foreach my $f (@files)
{
push @files,
map { $f . "/" . $_ }
recurse_imports($d.$f);
}
return @files;
}
sub display_import
{
my ($f, $r, $i) = @_;
my $color;
my $inc = 0;
if (abs(time - $$f{date}) < 5) # incomplete! use abs in case these are files from THE FUTURE!
{ $color = "incomplete"; $inc = 1; }
elsif ((time - $$f{date}) < 86400) # modified today
{ $color = "new"; }
elsif ((time - $$f{date}) < 604800) # modifed this week
{ $color = "recent"; }
elsif ((time - $$f{date}) < 1209600) # modifed 2 weeks ago
{ $color = "old"; }
else
{ $color = "quiet"; }
print qq[