summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-11-05 12:26:36 +0000
committerfukachan <fukachan>2001-11-05 12:26:36 +0000
commita356d6520a8150f19f36cfa8834e78cfe0a74314 (patch)
tree5b3bc7d1d4c121382c8ac88d61421648bee3341b
parentc3c58e843a0f5cb5d064ea02c3ab99b9152bdca9 (diff)
downloadfml8-a356d6520a8150f19f36cfa8834e78cfe0a74314.tar.gz
fml8-a356d6520a8150f19f36cfa8834e78cfe0a74314.tar.bz2
fml8-a356d6520a8150f19f36cfa8834e78cfe0a74314.zip
new utility: fmlhtmlify src_dir dst_dir
-rwxr-xr-xINSTALL.sh5
-rwxr-xr-xfml/bin/fmlhtmlify16
-rw-r--r--fml/lib/FML/Process/HTMLify.pm142
-rw-r--r--fml/lib/FML/Process/Switch.pm8
4 files changed, 168 insertions, 3 deletions
diff --git a/INSTALL.sh b/INSTALL.sh
index f5b530eb..9b67ff9c 100755
--- a/INSTALL.sh
+++ b/INSTALL.sh
@@ -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: INSTALL.sh,v 1.26 2001/06/28 05:03:27 fukachan Exp $
+# $FML: INSTALL.sh,v 1.27 2001/11/03 12:23:16 fukachan Exp $
#
# Run this from the top-level fml source directory.
@@ -83,7 +83,7 @@ echo update $libexec_dir/$fml_version/
cp -pr fml/libexec/* $libexec_dir/$fml_version/
echo update /usr/local/bin/
-for prog in fmldoc fmlthread fmlconf makefml fmlsch
+for prog in fmldoc fmlthread fmlconf makefml fmlsch fmlhtmlify
do
echo update /usr/local/bin/$prog
cp fml/bin/$prog /usr/local/bin/$prog.new
@@ -95,6 +95,7 @@ PROGRAMS="$PROGRAMS fmlserv mead fmlconf fmldoc"
PROGRAMS="$PROGRAMS fmlthread fmlticket.cgi"
PROGRAMS="$PROGRAMS makefml makefml.cgi"
PROGRAMS="$PROGRAMS fmlsch fmlsch.cgi"
+PROGRAMS="$PROGRAMS fmlhtmlify"
if [ ! -f $libexec_dir/loader ];then
diff --git a/fml/bin/fmlhtmlify b/fml/bin/fmlhtmlify
new file mode 100755
index 00000000..696b79a1
--- /dev/null
+++ b/fml/bin/fmlhtmlify
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# Copyright (C) 2001 Ken'ichi Fukamachi
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: fmlthread,v 1.1 2001/11/03 12:23:14 fukachan Exp $
+#
+
+default_prefix=/usr/local
+libexec_dir=$default_prefix/libexec/fml
+
+exec $libexec_dir/fmlhtmlify $*
+
+echo 'not reach here'
+exit 0;
diff --git a/fml/lib/FML/Process/HTMLify.pm b/fml/lib/FML/Process/HTMLify.pm
new file mode 100644
index 00000000..d904ab47
--- /dev/null
+++ b/fml/lib/FML/Process/HTMLify.pm
@@ -0,0 +1,142 @@
+#!/usr/local/bin/perl -w
+#-*- perl -*-
+#
+# Copyright (C) 2000-2001 Ken'ichi Fukamachi
+# All rights reserved.
+#
+# $FML: HTMLify.pm,v 1.4 2001/11/04 13:41:32 fukachan Exp $
+#
+
+package FML::Process::HTMLify;
+
+use vars qw($debug @ISA @EXPORT @EXPORT_OK);
+use strict;
+use Carp;
+
+use FML::Process::Kernel;
+use FML::Log qw(Log LogWarn LogError);
+use FML::Config;
+
+@ISA = qw(FML::Process::Kernel);
+
+
+=head1 NAME
+
+FML::Process::HTMLify -- yet another interface to htmlify
+
+=head1 SYNOPSIS
+
+See C<Mail::HTML::Lite> module.
+
+=head1 DESCRIPTION
+
+This class drives thread tracking system in the top level.
+
+=head1 METHOD
+
+=head2 C<new($args)>
+
+create a C<FML::Process::Kernel> object and return it.
+
+=head2 C<prepare()>
+
+dummy.
+
+=cut
+
+
+sub new
+{
+ my ($self, $args) = @_;
+ my $type = ref($self) || $self;
+ my $curproc = new FML::Process::Kernel $args;
+ return bless $curproc, $type;
+}
+
+
+# Descriptions: dummy to avoid to take data from STDIN
+# Arguments: $self $args
+# Side Effects:
+# Return Value: none
+sub prepare
+{
+ ;
+}
+
+
+sub verify_request
+{
+ ;
+}
+
+
+=head2 C<run($args)>
+
+call the actual thread tracking system.
+
+=cut
+
+sub run
+{
+ my ($curproc, $args) = @_;
+ my $argv = $curproc->command_line_argv();
+ my $src_dir = $argv->[0];
+ my $dst_dir = $argv->[1];
+
+ unless (-d $src_dir) {
+ croak("no such source directory");
+ }
+
+ if (defined $dst_dir) {
+ unless (-d $dst_dir) {
+ use File::Utils qw(mkdirhier);
+ mkdirhier($dst_dir, 0755);
+ }
+
+ print STDERR "htmlify\t$src_dir =>\n\t\t$dst_dir\n";
+
+ use Mail::HTML::Lite;
+ &Mail::HTML::Lite::htmlify_dir($src_dir, { directory => $dst_dir });
+ }
+ else {
+ croak("no destination directory\n");
+ }
+}
+
+
+sub help
+{
+ use File::Basename;
+ my $name = basename($0);
+
+print <<"_EOF_";
+
+Usage: $name src_dir dst_dir
+
+_EOF_
+}
+
+
+sub DESTROY {}
+
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2001 Ken'ichi Fukamachi
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+FML::Process::Kernel appeared in fml5 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+
+1;
diff --git a/fml/lib/FML/Process/Switch.pm b/fml/lib/FML/Process/Switch.pm
index 4b4e5b17..7a03006c 100644
--- a/fml/lib/FML/Process/Switch.pm
+++ b/fml/lib/FML/Process/Switch.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: Switch.pm,v 1.25 2001/11/04 06:43:12 fukachan Exp $
+# $FML: Switch.pm,v 1.26 2001/11/04 13:42:05 fukachan Exp $
#
package FML::Process::Switch;
@@ -363,6 +363,9 @@ sub _module_specific_options
elsif ($myname eq 'fmlsch') {
return qw(debug! -D=s -F=s -m=s a!);
}
+ elsif ($myname eq 'fmlhtmlify') {
+ return qw(debug!);
+ }
else {
croak "options for $myname are not defined.\n";
}
@@ -441,6 +444,9 @@ sub _module_we_use
elsif ($name eq 'fmlsch.cgi') {
$pkg = 'FML::CGI::Scheduler';
}
+ elsif ($name eq 'fmlhtmlify') {
+ $pkg = 'FML::Process::HTMLify';
+ }
else {
return '';
}