summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/date_time/xmldoc/ref_tag_fix.pl
diff options
context:
space:
mode:
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.pl114
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