summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process/HTMLify.pm
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-04-15 04:01:47 +0000
committerfukachan <fukachan>2002-04-15 04:01:47 +0000
commit0a253992865579477876d8b91861383db4eb6181 (patch)
tree8f260b634f9e344a23f676f6f321c92458fbd49d /fml/lib/FML/Process/HTMLify.pm
parentf4c375a647b833de11b4a252475098e5b1b29745 (diff)
downloadfml8-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.pm58
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