"Fossies" - the Fresh Open Source Software Archive

Member "devtodo-0.1.20/contrib/changelog2todo" (9 May 2006, 1271 Bytes) of package /linux/privat/old/devtodo-0.1.20.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/usr/bin/perl -w
    2 use strict;
    3 
    4 #
    5 # Not actually contributed by anybody, but people might find this useful.
    6 # 
    7 # This is a small PERL script to convert a ChangeLog in the same format as that
    8 # used by devtodo into a devtodo database.
    9 #
   10 # DISCLAIMER: I've only been using PERL for about a week, so I'm sure there are 
   11 # much easier ways of doing some of these things.
   12 #
   13 
   14 sub htmlify {
   15     s/&/&/g;
   16     s/</&lt;/g;
   17     s/>/&gt;/g;
   18     return $_;
   19 }
   20 
   21 open(CHANGELOG, "ChangeLog");
   22 
   23 print "<todo>\n";
   24 
   25 my $version = "";
   26 my $item = "";
   27 my $pseudotime = 0;
   28 
   29 while (<CHANGELOG>) {
   30     if (/^[0-9]\.[0-9]\.[0-9]/) {
   31         if ($item ne "") {
   32             print $item;
   33             print "</note>\n";
   34             $item = "";
   35         }
   36         if ($version ne "") {
   37             print "</note>\n";
   38             $version = "";
   39         }
   40         print "<note priority='high' time='$pseudotime'>$_\n";
   41         $pseudotime++;
   42         $version = $_;
   43     } elsif (/^\*/) {
   44         s/^\*\w*//;
   45         if ($item ne "") {
   46             print $item;
   47             print "</note>\n";
   48             $item = "";
   49         }
   50         print "<note priority='medium' time='$pseudotime'>\n";
   51         $pseudotime++;
   52         chomp();
   53         $item = htmlify($_);
   54     } else {
   55         chomp();
   56         $item .= htmlify($_);
   57     }
   58 }
   59 
   60 if ($item ne "") {
   61     print $item;
   62     print "</note>\n";
   63     $item = "";
   64 }
   65 
   66 if ($version ne "") {
   67     print "</note>\n";
   68     $version = "";
   69 }
   70 
   71 print "</todo>\n";
   72 
   73 close(CHANGELOG);