diff options
Diffstat (limited to 'src/boost/libs/date_time/xmldoc/ref_tag_fix.pl')
-rw-r--r-- | src/boost/libs/date_time/xmldoc/ref_tag_fix.pl | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/boost/libs/date_time/xmldoc/ref_tag_fix.pl b/src/boost/libs/date_time/xmldoc/ref_tag_fix.pl new file mode 100644 index 000000000..23b66d539 --- /dev/null +++ b/src/boost/libs/date_time/xmldoc/ref_tag_fix.pl @@ -0,0 +1,114 @@ +#!/usr/bin/perl -w +# Bart Garst - 7/1/2004 +# additional comments at bottom of file + +############################################################################# +# Copyright (c) 2001-2005 CrystalClear Software, Inc. # +# Subject to the Boost Software License, Version 1.0. # +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) # +############################################################################# + +use strict; + +# key-value of file name and id attribute +# if the attributes are changed here it would be a good idea to +# also change the links in doxy.xml +my %files = ( + 'date_time_autodoc.boostbook' => 'date_time_reference', + 'gregorian_autodoc.boostbook' => 'gregorian_reference', + 'posix_time_autodoc.boostbook' => 'posix_time_reference', + 'local_time_autodoc.boostbook' => 'local_time_reference' +); + + +foreach my $key(keys %files) { + rewrite_tags($key, $files{$key}); +} + +exit; + +### subroutines ### + +# separate words at underscores and capitalize first letter of each +sub make_title { + my $a = shift || die "Missing required parameter to make_title()\n"; + my @wrds = split(/_/, $a); # remove underscores + foreach(@wrds){ + $_ = "\u$_"; # capitalize first letter + } + $a = join(" ",@wrds); + + return $a; +} + +sub rewrite_tags { + my $filename = shift || die "Error: argument 1 missing to sub $!"; + my $id_tag = shift || die "Error: argument 2 missing to sub $!"; + my ($line, @new_file, $title, $processed); + + $processed = 1; # has this file already been processed? + + print "...processing $filename...\n"; + + # prepare a title from id attribute + $title = make_title($id_tag); + + # open & read file and change appropriate line + open(INP, "<$filename") || die "File open (read) failed: $!"; + while($line = <INP>){ + if($line =~ /<library-reference>/) { + push(@new_file, "<section id=\"$id_tag\">\n"); + push(@new_file, "<title>$title</title>\n"); + $processed = 0; # file had not been previously processed + } + elsif($line =~ /<\/library-reference>/) { + push(@new_file, "</section>\n"); + } + else{ + push(@new_file, $line); + } + } + close(INP); + + # open & write new file w/ same name + open(OTP, ">$filename") || die "File open (write) failed: $!"; + print OTP shift(@new_file); + + if($processed == 0){ # has not been previously processed so add license + my($day, $year) = (localtime)[3,5]; + my $month = (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[(localtime)[4]]; + $year += 1900; # adjust year + print OTP <<EO_LIC; +<!-- Copyright (c) 2001-2005 CrystalClear Software, Inc. + Subject to the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) +--> +<!-- date source directory processed: $year-$month-$day --> +EO_LIC + } + + foreach(@new_file){ + print OTP "$_"; + } + close(OTP); +} + +__END__ + +Rewrites the library-reference tagset as a section tagset and adds +a title to the generated *.boostbook files. It will NOT update a +file that has already been rewritten. + +Change log +7/19/2004 + - rewrite library-reference tags as section tags and add title tags + - renamed fix_id sub to rewrite_tags. +8/31/2004 + - added license to this file and writes license to boostbook files +11/01/2004 + - fixed minor bug that placed multiple license statements in files if + input file had already had it's tags fixed. + - added a processed date to the license statement +12/02/2005 + - added local_time_autodoc.boostbook + - updated copyrights to 2005 |