diff options
| author | fukachan <fukachan> | 2002-10-03 22:10:15 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2002-10-03 22:10:15 +0000 |
| commit | fb01d4f6c58a858dbe216807ae75d56879d180fc (patch) | |
| tree | 04c02b2ea26a911004e208879088d86f4b2a5af8 /fml/lib | |
| parent | cb56579155d67036a91c0da99b57fe32f5d2a431 (diff) | |
| download | fml8-fb01d4f6c58a858dbe216807ae75d56879d180fc.tar.gz fml8-fb01d4f6c58a858dbe216807ae75d56879d180fc.tar.bz2 fml8-fb01d4f6c58a858dbe216807ae75d56879d180fc.zip | |
enabled to handle order in index.html by $html_archive_index_order_type.
Mail::Message::ToHTML
o htmlify_{file,dir}() is changted to normal methods for passing
arguments.
Diffstat (limited to 'fml/lib')
| -rw-r--r-- | fml/lib/FML/Command/HTMLify.pm | 21 | ||||
| -rw-r--r-- | fml/lib/FML/Process/Distribute.pm | 13 | ||||
| -rw-r--r-- | fml/lib/Mail/Message/ToHTML.pm | 46 |
3 files changed, 48 insertions, 32 deletions
diff --git a/fml/lib/FML/Command/HTMLify.pm b/fml/lib/FML/Command/HTMLify.pm index 9668c50e..725a0f43 100644 --- a/fml/lib/FML/Command/HTMLify.pm +++ b/fml/lib/FML/Command/HTMLify.pm @@ -4,7 +4,7 @@ # All rights reserved. This program is free software; you can # redistribute it and/or modify it under the same terms as Perl itself. # -# $FML: HTMLify.pm,v 1.9 2002/09/15 00:11:42 fukachan Exp $ +# $FML: HTMLify.pm,v 1.10 2002/09/22 14:56:43 fukachan Exp $ # package FML::Command::HTMLify; @@ -37,8 +37,10 @@ and file in C<$ml_home_dir>. sub convert { my ($curproc, $args, $optargs) = @_; + my $config = $curproc->config(); my $src_dir = $optargs->{ src_dir }; my $dst_dir = $optargs->{ dst_dir }; + my $charset = 'euc-jp'; croak("src_dir not defined") unless defined $src_dir; croak("src_dir not exists") unless -d $src_dir; @@ -50,6 +52,13 @@ sub convert # croak("invalid ML"); # } + my $index_order = $config->{ html_archive_index_order_type }; + my $htmlifier_args = { + directory => $dst_dir, + charset => $charset, + index_order => $index_order, + }; + my ($is_subdir_exists, $subdirs) = _check_subdir_exists($src_dir); if ($is_subdir_exists) { Log("looks subdir exists");} @@ -64,9 +73,8 @@ sub convert for my $xdir (sort _sort_subdirs @$subdirs) { eval q{ use Mail::Message::ToHTML; - &Mail::Message::ToHTML::htmlify_dir($xdir, { - directory => $dst_dir, - }); + my $obj = new Mail::Message::ToHTML $htmlifier_args; + $obj->htmlify_dir($xdir, $htmlifier_args); }; croak($@) if $@; } @@ -74,9 +82,8 @@ sub convert else { eval q{ use Mail::Message::ToHTML; - &Mail::Message::ToHTML::htmlify_dir($src_dir, { - directory => $dst_dir, - }); + my $obj = new Mail::Message::ToHTML $htmlifier_args; + &Mail::Message::ToHTML::htmlify_dir($src_dir, $htmlifier_args); }; croak($@) if $@; } diff --git a/fml/lib/FML/Process/Distribute.pm b/fml/lib/FML/Process/Distribute.pm index 480e28b4..f5aea2c1 100644 --- a/fml/lib/FML/Process/Distribute.pm +++ b/fml/lib/FML/Process/Distribute.pm @@ -3,7 +3,7 @@ # Copyright (C) 2000,2001,2002 Ken'ichi Fukamachi # All rights reserved. # -# $FML: Distribute.pm,v 1.97 2002/09/22 14:56:52 fukachan Exp $ +# $FML: Distribute.pm,v 1.98 2002/09/29 12:40:48 fukachan Exp $ # package FML::Process::Distribute; @@ -505,6 +505,12 @@ sub htmlify my $article = $curproc->_build_article_object($args); my $article_id = $pcb->get('article', 'id'); my $article_file = $article->filepath($article_id); + my $index_order = $config->{ html_archive_index_order_type }; + my $htmlifier_args = { + directory => $html_dir, + charset => 'euc-jp', + index_order => $index_order, + }; $curproc->set_umask_as_public(); @@ -518,9 +524,8 @@ sub htmlify } eval q{ - &Mail::Message::ToHTML::htmlify_file($article_file, { - directory => $html_dir, - }); + my $obj = new Mail::Message::ToHTML $htmlifier_args; + $obj->htmlify_file($article_file, $htmlifier_args); }; LogError($@) if $@; } diff --git a/fml/lib/Mail/Message/ToHTML.pm b/fml/lib/Mail/Message/ToHTML.pm index 4aca851e..e27615f0 100644 --- a/fml/lib/Mail/Message/ToHTML.pm +++ b/fml/lib/Mail/Message/ToHTML.pm @@ -4,7 +4,7 @@ # All rights reserved. This program is free software; you can # redistribute it and/or modify it under the same terms as Perl itself. # -# $FML: ToHTML.pm,v 1.24 2002/09/28 09:27:44 fukachan Exp $ +# $FML: ToHTML.pm,v 1.25 2002/10/02 15:01:50 tmu Exp $ # package Mail::Message::ToHTML; @@ -17,7 +17,7 @@ my $debug = 0; my $URL = "<A HREF=\"http://www.fml.org/software/\">Mail::Message::ToHTML</A>"; -my $version = q$FML: ToHTML.pm,v 1.24 2002/09/28 09:27:44 fukachan Exp $; +my $version = q$FML: ToHTML.pm,v 1.25 2002/10/02 15:01:50 tmu Exp $; if ($version =~ /,v\s+([\d\.]+)\s+/) { $version = "$URL $1"; } @@ -96,14 +96,14 @@ sub new my $me = {}; $me->{ _html_base_directory } = $args->{ directory }; - $me->{ _charset } = $args->{ charset } || 'us-ascii'; - $me->{ _is_attachment } = defined($args->{ attachment }) ? 1 : 0; - $me->{ _db_type } = $args->{ db_type }; - $me->{ _args } = $args; - $me->{ _num_attachment } = 0; # for child process - $me->{ _use_subdir } = 'yes'; - $me->{ _subdir_style } = 'yyyymm'; - $me->{ _html_id_order } = $args->{ html_id_order} || 'normal'; + $me->{ _charset } = $args->{ charset } || 'us-ascii'; + $me->{ _is_attachment } = defined($args->{ attachment }) ? 1 : 0; + $me->{ _db_type } = $args->{ db_type }; + $me->{ _args } = $args; + $me->{ _num_attachment } = 0; # for child process + $me->{ _use_subdir } = 'yes'; + $me->{ _subdir_style } = 'yyyymm'; + $me->{ _html_id_order } = $args->{ index_order } || 'normal'; return bless $me, $type; } @@ -2421,7 +2421,7 @@ try to convert all rfc822 messages to HTML in C<$dir> directory. # Return Value: none sub htmlify_file { - my ($file, $args) = @_; + my ($self, $file, $args) = @_; my $dst_dir = $args->{ directory }; unless (-f $file) { @@ -2436,10 +2436,7 @@ sub htmlify_file use File::Basename; my $id = basename($file); - my $html = new Mail::Message::ToHTML { - charset => "euc-jp", - directory => $dst_dir, - }; + my $html = new Mail::Message::ToHTML $args; if ($debug) { printf STDERR "htmlify_file( id=%-6s src=%s )\n", $id, $file; @@ -2476,7 +2473,7 @@ sub htmlify_file # Return Value: none sub htmlify_dir { - my ($src_dir, $args) = @_; + my ($self, $src_dir, $args) = @_; my $dst_dir = $args->{ directory }; my $min = 0; my $max = 0; @@ -2501,7 +2498,7 @@ sub htmlify_dir # overwride $has_fork = $args->{ has_fork } if defined $args->{ has_fork }; - $max = $args->{ max } if defined $args->{ max }; + $max = $args->{ max } if defined $args->{ max }; print STDERR " scan ( $min .. $max ) for $src_dir\n"; for my $id ( $min .. $max ) { @@ -2509,7 +2506,7 @@ sub htmlify_dir my $file = File::Spec->catfile($src_dir, $id); unless ( $has_fork ) { - htmlify_file($file, { directory => $dst_dir }); + htmlify_file($file, $args); } else { my $pid = fork(); @@ -2517,7 +2514,7 @@ sub htmlify_dir croak("cannot fork"); } elsif ($pid == 0) { - htmlify_file($file, { directory => $dst_dir }); + htmlify_file($file, $args); exit 0; } @@ -2538,17 +2535,24 @@ if ($0 eq __FILE__) { my $dir = "/tmp/htdocs"; my $has_fork = defined $ENV{'HAS_FORK'} ? 1 : 0; my $max = defined $ENV{'MAX'} ? $ENV{'MAX'} : 1000; + my $charset = 'euc-jp'; eval q{ + my $obj = new Mail::Message::ToHTML: + for my $x (@ARGV) { if (-f $x) { - htmlify_file($x, { directory => $dir }); + $obj->htmlify_file($x, { + directory => $dir + charset => $charset, + }); } elsif (-d $x) { - htmlify_dir($x, { + $obj->htmlify_dir($x, { directory => $dir, has_fork => $has_fork, max => $max, + charset => $charset, }); } } |
