From 1117692f50612eb879f058a2e6e81c04206ee0da Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 3 Oct 2004 09:42:56 +0000 Subject: Bug corrigé dans extractdoc. Ajout de cvslog2html. --- d/dev/sys/lampion/scripts/cvslog2html | 129 ++++++++++++++++++++++++++++++++++ d/dev/sys/lampion/scripts/extractdoc | 2 +- 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100755 d/dev/sys/lampion/scripts/cvslog2html (limited to 'd/dev/sys') diff --git a/d/dev/sys/lampion/scripts/cvslog2html b/d/dev/sys/lampion/scripts/cvslog2html new file mode 100755 index 0000000..45c7a8a --- /dev/null +++ b/d/dev/sys/lampion/scripts/cvslog2html @@ -0,0 +1,129 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +use File::Basename; + +sub print_header +{ + print '', "\n"; + print "\n\nLog CVS\n"; + print '', "\n"; + print '', "\n"; + print '', "\n"; + print '', "\n"; + print "\n\n"; + print '
', "\n"; +} + +sub print_footer +{ + print "
\n\n\n"; +} + +sub print_entry +{ + return if (!defined ($_[0])); + shift if ($_[0] =~ m/^\s*$/); + print "
\n
\n"; + if ($_[0] =~ m/^LOG: (\w+) ([\w\/]+)/) { + print '
' , $2 , "
\n"; + print '
' , $1 , "
\n"; + } + my ($mod, $msg); + for (my $i = 0; $i < @_; $i ++) { + $mod = $i if ((!defined ($mod)) && ($_[$i] =~ /^\w+ Files:$/)); + $msg = $i if ($_[$i] =~ /^Log Message:$/); + } + if (defined ($msg)) { + print "
\n

Message

\n

\n"; + for (my $i = $msg + 1; $i < @_; $i ++) { + print $_[$i], "
\n" if ($_[$i] !~ /^\s*$/); + } + print "

\n
\n"; + } + if (defined ($mod)) { + print "
\n"; + for (my $i = $mod; $i < $msg; ) { + if ($_[$i] =~ /^(\w+) Files:/) { + my $type = $1; + print "

Fichiers ajoutés

\n" if ($type =~ m/Added/); + print "

Fichiers supprimés

\n" if ($type =~ m/Removed/); + print "

Fichiers modifiés

\n" if ($type =~ m/Modified/); + $i ++; + } + else { + print "

\n"; + for (; $i < $msg; $i++) { + last if ($_[$i] =~ m/^\w+ Files:/); + for (split (/ /,$_[$i])) { + print $_, "
\n"; + } + + } + print "

\n"; + } + + } + print "
\n"; + } + print "
\n"; +} + +sub print_import +{ + return if (!defined ($_[0])); + shift if ($_[0] =~ m/^\s*$/); + print "
\n
\n"; + if ($_[0] =~ m/^LOG: (\w+) ([\w\/]+)/) { + print '
' , $2 , "
\n"; + print '
' , $1 , "
\n"; + } + my ($msg,$sta); + for (my $i = 0; $i < @_; $i ++) { + $msg = $i if ($_[$i] =~ /^Log Message:$/); + $sta = $i if ($_[$i] =~ /^Status:$/); + } + print "
\n

Message

\n

\n"; + for (my $i = $msg + 1; $i < $sta; $i ++) { + print $_[$i], "
\n" if ($_[$i] !~ /^\s*$/); + } + print "

\n
\n"; + print "
\n"; + print "

Fichiers importés

\n

\n"; + for (my $i = $msg ; $i < @_; $i ++) { + print $_[$i], "
\n" if ($_[$i] =~ /^N /); + } + print "

\n
\n"; + print "
\n"; +} + + +die "usage: $0 files\n" if (!defined ($ARGV[0])); + +print_header (); +#$/ = "\n\n\n"; user qui fout de la merde dans le log (genre deux lignes vides +#a la fin obligé de recoder a la main +my $line; +for (@ARGV) +{ + open LOG, $_ or die "Can' open $_: $!\n"; + print "

Log CVS ", basename ($_), "

\n"; + $line = ; + while (!eof LOG) { + my @lines; + push @lines, $line; + while ((defined ($line = )) && ($line !~ /^LOG: /)) { + chomp $line; + push @lines, $line; + } + if ($lines[0] =~ /Imported/) { + print_import (@lines); + } else { + print_entry (@lines); + } + } + close LOG; +} +print_footer (); diff --git a/d/dev/sys/lampion/scripts/extractdoc b/d/dev/sys/lampion/scripts/extractdoc index 90992b7..01c0198 100755 --- a/d/dev/sys/lampion/scripts/extractdoc +++ b/d/dev/sys/lampion/scripts/extractdoc @@ -44,7 +44,7 @@ while (<>) INNER: { do { chomp; - s/\).*/);/; + s/\)[^)]*$/);/; push @def, $_; last if /\)/; } while (<>); -- cgit v1.2.3