diff options
| author | fukachan <fukachan> | 2002-04-15 04:01:47 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2002-04-15 04:01:47 +0000 |
| commit | 0a253992865579477876d8b91861383db4eb6181 (patch) | |
| tree | 8f260b634f9e344a23f676f6f321c92458fbd49d /fml/lib/FML/Process/HTMLify.pm | |
| parent | f4c375a647b833de11b4a252475098e5b1b29745 (diff) | |
| download | fml8-0a253992865579477876d8b91861383db4eb6181.tar.gz fml8-0a253992865579477876d8b91861383db4eb6181.tar.bz2 fml8-0a253992865579477876d8b91861383db4eb6181.zip | |
consider spool/ may has subdir(s)
Diffstat (limited to 'fml/lib/FML/Process/HTMLify.pm')
| -rw-r--r-- | fml/lib/FML/Process/HTMLify.pm | 58 |
1 files changed, 50 insertions, 8 deletions
diff --git a/fml/lib/FML/Process/HTMLify.pm b/fml/lib/FML/Process/HTMLify.pm index e993bf93..ade51ccb 100644 --- a/fml/lib/FML/Process/HTMLify.pm +++ b/fml/lib/FML/Process/HTMLify.pm @@ -3,7 +3,7 @@ # Copyright (C) 2001,2002 Ken'ichi Fukamachi # All rights reserved. # -# $FML: HTMLify.pm,v 1.13 2002/03/31 03:39:14 fukachan Exp $ +# $FML: HTMLify.pm,v 1.14 2002/04/08 12:44:25 fukachan Exp $ # package FML::Process::HTMLify; @@ -127,19 +127,35 @@ sub run croak("no such source directory"); } + my ($is_subdir_exists, $subdirs) = _check_subdir_exists($src_dir); + if ($is_subdir_exists) { Log("looks subdir exists");} + if (defined $dst_dir) { unless (-d $dst_dir) { use File::Utils qw(mkdirhier); mkdirhier($dst_dir, 0755); } - eval q{ - use Mail::Message::ToHTML; - &Mail::Message::ToHTML::htmlify_dir($src_dir, { - directory => $dst_dir, - }); - }; - croak($@) if $@; + if ($is_subdir_exists) { + for my $xdir (@$subdirs) { + eval q{ + use Mail::Message::ToHTML; + &Mail::Message::ToHTML::htmlify_dir($xdir, { + directory => $dst_dir, + }); + }; + croak($@) if $@; + } + } + else { + eval q{ + use Mail::Message::ToHTML; + &Mail::Message::ToHTML::htmlify_dir($src_dir, { + directory => $dst_dir, + }); + }; + croak($@) if $@; + } } else { croak("no destination directory\n"); @@ -150,6 +166,32 @@ sub run } +sub _check_subdir_exists +{ + my ($src_dir) = @_; + my $status = 0; + my $subdir = ''; + my @subdir = (); + + use File::Spec; + use DirHandle; + my $dh = new DirHandle $src_dir; + if (defined $dh) { + while (defined($_ = $dh->read)) { + next if /^\./; + $subdir = File::Spec->catfile($src_dir, $_); + + if ($subdir) { + push(@subdir, $subdir); + $status = 1; + } + } + } + + return( $status, \@subdir ); +} + + # Descriptions: show help # Arguments: none # Side Effects: none |
