summaryrefslogtreecommitdiff
path: root/fml/lib
diff options
context:
space:
mode:
authorfukachan <fukachan>2002-10-03 22:10:15 +0000
committerfukachan <fukachan>2002-10-03 22:10:15 +0000
commitfb01d4f6c58a858dbe216807ae75d56879d180fc (patch)
tree04c02b2ea26a911004e208879088d86f4b2a5af8 /fml/lib
parentcb56579155d67036a91c0da99b57fe32f5d2a431 (diff)
downloadfml8-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.pm21
-rw-r--r--fml/lib/FML/Process/Distribute.pm13
-rw-r--r--fml/lib/Mail/Message/ToHTML.pm46
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,
});
}
}