src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl 1.8

1.8 2009/04/23 17:08:51 tdreszer
dateSubmitted was not getting picked up as it should have been
Index: src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -b -B -U 4 -r1.7 -r1.8
--- src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl	22 Apr 2009 23:57:17 -0000	1.7
+++ src/hg/encode/encodeDownloadsPage/encodeDownloadsPage.pl	23 Apr 2009 17:08:51 -0000	1.8
@@ -240,8 +240,9 @@
     my ($tableName,$dataType) = split('\.', $fileName);   # tableName I hope
 #print OUT_FILE "Path:$file[5]  File:$fileName  Table:$tableName\n";
 
     my $releaseDate = "";
+    my $submitDate = "";
     my %metaData;
     my $typePrefix = "";
     my $results = $db->quickQuery("select type from trackDb where tableName = '$tableName'");
     if($results) {
@@ -269,16 +270,12 @@
     if( $results ) {
         my @settings = split(/\n/, $results); # New Line
         while (@settings) {
             my @pair = split(/\s+/, (shift @settings),2);
-            if($pair[0] eq "releaseDate" && length($releaseDate) == 0) {
+            if($pair[0] eq "releaseDate" && length($releaseDate) == 0) {       # metadata has priority
                 $releaseDate = $pair[1];
-            } elsif($pair[0] eq "dateSubmitted" && length($releaseDate) == 0) {
-                my ($YYYY,$MM,$DD) = split('-',$pair[1]);
-                $MM = $MM - 1;
-                my (undef, undef, undef, $rMDay, $rMon, $rYear) = Encode::restrictionDate(timelocal(0,0,0,$DD,$MM,$YYYY));
-                $rMon = $rMon + 1;
-                $releaseDate = sprintf("%04d-%02d-%02d", (1900 + $rYear),$rMon,$rMDay);
+            } elsif($pair[0] eq "dateSubmitted" && length($submitDate) == 0) { # metadata has priority
+                $submitDate = $pair[1];
             } elsif($pair[0] eq "cell" || $pair[0] eq "antibody" || $pair[0] eq "promoter") {
                 $metaData{$pair[0]} = $pair[1];
             } elsif($pair[0] eq "metadata") {
                 # Use metadata setting with priority  ### TODO Need to do this for files
@@ -288,14 +285,10 @@
                 my $tix = 0;
                 while($tags[$tix]) {
                     if($tags[$tix] eq "dateUnrestricted") {
                         $releaseDate = $vals[$tix];
-                    } elsif($tags[$tix] eq "dateSubmitted" && length($releaseDate) == 0) {
-                        my ($YYYY,$MM,$DD) = split('-',$vals[$tix]);
-                        $MM = $MM - 1;
-                        my (undef, undef, undef, $rMDay, $rMon, $rYear) = Encode::restrictionDate(timelocal(0,0,0,$DD,$MM,$YYYY));
-                        $rMon = $rMon + 1;
-                        $releaseDate = sprintf("%04d-%02d-%02d", (1900 + $rYear),$rMon,$rMDay);
+                    } elsif($tags[$tix] eq "dateSubmitted") {
+                        $submitDate = $vals[$tix];
                     }
                     $tix++;
                 }
                 my %remove;
@@ -313,13 +306,8 @@
         }
     } else {
         if($dataType eq "fastq" || $dataType eq "tagAlign" || $dataType eq "csfasta" || $dataType eq "csqual") {
             $metaData{type} = $dataType;
-            my ($YYYY,$MM,$DD) = split('-',$file[3]);
-            $MM = $MM - 1;
-            my (undef, undef, undef, $rMDay, $rMon, $rYear) = Encode::restrictionDate(timelocal(0,0,0,$DD,$MM,$YYYY));
-            $rMon = $rMon + 1;
-            $releaseDate = sprintf("%04d-%02d-%02d", (1900 + $rYear),$rMon,$rMDay);
         }
 
         # pull metadata out of README.txt (if any is available).
         my $active = 0;
@@ -336,8 +324,18 @@
                 }
             }
         }
     }
+    if(length($submitDate) == 0) {
+        $submitDate = $file[3];
+    }
+    if(length($releaseDate) == 0) {
+        my ($YYYY,$MM,$DD) = split('-',$submitDate);
+        $MM = $MM - 1;
+        my (undef, undef, undef, $rMDay, $rMon, $rYear) = Encode::restrictionDate(timelocal(0,0,0,$DD,$MM,$YYYY));
+        $rMon = $rMon + 1;
+        $releaseDate = sprintf("%04d-%02d-%02d", (1900 + $rYear),$rMon,$rMDay);
+    }
     my @tmp;
     if(my $type = $metaData{type}) {
         push(@tmp, "type: $type");
         delete $metaData{type};
@@ -352,13 +350,17 @@
         if(my $cell = $metaData{cell}) {
             push(@tmp, "cell: $cell");
             delete $metaData{cell};
         }
+        if($metaData{parent}) {
+            push(@tmp, $metaData{parent});
+            delete $metaData{parent};
+        }
         push(@tmp, "$_: " . $metaData{$_}) for (sort keys %metaData);
     }
     my $metaData = join("; ", @tmp);
     # Now file contains: [file without path] [tableName] [size] [date] [releaseDate] [fullpath/file]
-    htmlTableRow(*OUT_FILE,$fileName,$file[2],$file[3],$releaseDate,$metaData);
+    htmlTableRow(*OUT_FILE,$fileName,$file[2],$submitDate,$releaseDate,$metaData);
 }
 print OUT_FILE "</TABLE>\n";
 
 htmlEndPage(*OUT_FILE);