src/hg/instinct/createDescriptionHTML/generateAllDescriptionHTMLs.pl 1.1
1.1 2009/09/09 18:31:27 cszeto
perl code to generate description html files
Index: src/hg/instinct/createDescriptionHTML/generateAllDescriptionHTMLs.pl
===================================================================
RCS file: src/hg/instinct/createDescriptionHTML/generateAllDescriptionHTMLs.pl
diff -N src/hg/instinct/createDescriptionHTML/generateAllDescriptionHTMLs.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/hg/instinct/createDescriptionHTML/generateAllDescriptionHTMLs.pl 9 Sep 2009 18:31:27 -0000 1.1
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -w
+
+#######################################################################
+# cszeto Sept.09; This is a script to run createDescriptionHTML.pl #
+# on all the names in the specified datasets.ra this program can read.#
+#######################################################################
+
+my $datasetsFile = "";
+my $whoami = `whoami`;
+chomp($whoami);
+if(!defined($ARGV[0])){
+ print "ERROR: Incorrect usage.\n";
+ printHelp();
+}else{
+ $datasetsFile = shift;
+}
+
+
+my $local_output = $datasetsFile;
+$local_output =~ s/^.+\/(.+)$/local_$1/g;
+open(INFILE, $datasetsFile) || die "Couldn't open $datasetsFile\n";
+open(OUTFILE, ">$local_output") || die "Couldn't open temporary .ra file $local_output.ra\n";
+my @includes = ();
+my $path = $datasetsFile;
+$path =~ s/^(.+)\/.+$/$1/g;
+my $local_url = "";
+while(<INFILE>){
+ chomp($_);
+ if($_ =~ m/^#include/){ #if it's an include, at it to the list of files to run this over.
+ my $tmp = $_;
+ $tmp =~ s/^#include (.+)/$path\/$1/g;
+ push(@includes, $tmp);
+ }elsif($_ =~ m/^name /){
+ my $name = $_;
+ $name =~ s/^[^ ]+ (.+)$/$1/g;
+ $local_url = `perl createSingleDescriptionHTML.pl $name $datasetsFile`;
+ $local_url =~ s/\n/ /g;
+ if($local_url !~ m/Success/){
+ print "ERROR: Something went wrong trying to run createDescriptionHTML.pl on $name dataset.\n";
+ print "Output was $local_url\n";
+ print "Exiting..\n";
+ exit(1);
+ }
+ if($local_url =~ m/ local_url/){
+ $local_url =~ s/.* (local_url .+)$/$1/g;
+ }
+ }
+ if($_ =~ m/^local_url/ && $local_url eq ""){
+ print OUTFILE "$_\n";
+ }elsif($_ !~ m/^local_url/){
+ if($_ =~ m/^\s*$/){
+ if($local_url ne ""){
+ print OUTFILE "$local_url\n";
+ $local_url = "";
+ }
+ print OUTFILE "$_\n";
+ }else{
+ print OUTFILE "$_\n";
+ }
+ }
+}
+if($local_url ne ""){
+ print OUTFILE "$local_url\n\n";
+}
+close(OUTFILE);
+close(INFILE);
+print "Success!\n";
+`mv $local_output $datasetsFile`;
+
+foreach $include (@includes){
+ print "Running over included file $include\n";
+ my $output = `perl generateAllDescriptionHTMLs.pl $include`;
+ print "$output\n";
+}
+
+sub printHelp {
+ print "Usage:\n\$perl generateAllDescriptionHTMLs.pl [datasets.ra file]\n";
+ print "Generates HTML files for all the entrys in datasets.ra file, and creates a new datasets.ra file to replace\n";
+ print "the one given at command line with called output.ra. Check this file before replacing the original\n";
+ exit(1);
+}