4595b1ed3824a528af34f62f24ce4bae9419e427 hiram Wed Feb 9 11:03:18 2011 -0800 fine tuning the data last updated printouts diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index bdf2756..57b4c1b 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -2779,87 +2779,96 @@ } } void printTrackUiLink(struct trackDb *tdb) /* Make link to hgTrackUi. */ { char *trackName = getParentTrackName(tdb); struct trackDb *parentTdb = tdb; if (!sameString(trackName, tdb->track)) parentTdb = hTrackDbForTrack(database, trackName); printf("<P><A HREF=\"../cgi-bin/hgTrackUi?g=%s&%s\">" "Go to %s track controls</A></P>\n", trackName, cartSidUrlString(cart), parentTdb->shortLabel); } -void printDataVersion(struct trackDb *tdb) +static boolean printDataVersion(struct trackDb *tdb) /* If this annotation has a dataVersion trackDb setting, print it */ { +boolean ret = FALSE; metadataForTable(database,tdb,NULL); const char *version = metadataFindValue(tdb,"dataVersion"); if(version != NULL) + { printf("<B>Data version:</B> %s <BR>\n", version); + ret = TRUE; + } else { version = trackDbSetting(tdb,"dataVersion"); if (version != NULL) + { printf("<B>Data version:</B> %s <BR>\n", version); + ret = TRUE; } } +return ret; +} void printDataRestrictionDate(struct trackDb *tdb) /* If this annotation has a dateUnrestricted trackDb setting, print it */ { char *restrictionDate = encodeRestrictionDateDisplay(database,tdb); if (restrictionDate != NULL) { printf("<A HREF=\"/ENCODE/terms.html\" TARGET=_BLANK><B>Restricted until</A>:</B> %s <BR>\n", restrictionDate); freeMem(restrictionDate); } } -void printOrigAssembly(struct trackDb *tdb) +static boolean printOrigAssembly(struct trackDb *tdb) /* If this annotation has been lifted, print the original * freeze, as indicated by the "origAssembly" trackDb setting */ { -trackDbOrigAssembly(tdb); -trackDbPrintOrigAssembly(tdb, database); +return trackDbPrintOrigAssembly(tdb, database); } static char *getHtmlFromSelfOrParent(struct trackDb *tdb) /* Get html from self or from parent if not in self. */ { for (;tdb != NULL; tdb = tdb->parent) { if (tdb->html != NULL && tdb->html[0] != 0) return tdb->html; } return NULL; } void printTrackHtml(struct trackDb *tdb) /* If there's some html associated with track print it out. Also print * last update time for data table and make a link * to the TB table schema page for this table. */ { if (!isCustomTrack(tdb->track)) { + boolean otherDates = FALSE; extraUiLinks(database,tdb,trackHash); printTrackUiLink(tdb); - printDataVersion(tdb); - printOrigAssembly(tdb); + otherDates = printDataVersion(tdb); + otherDates |= printOrigAssembly(tdb); + if (!otherDates) printUpdateTime(database, tdb, NULL); printDataRestrictionDate(tdb); } char *html = getHtmlFromSelfOrParent(tdb); if (html != NULL && html[0] != 0) { htmlHorizontalLine(); // Add pennantIcon printPennantIconNote(tdb); puts(html); } hPrintf("<BR>\n"); } @@ -22525,32 +22534,32 @@ hasAttr++; gvAttrStaticLoad(row, &attr); printGvAttrCatType(i); /* only print header, if data */ /* print value */ printf("%s<BR>", attr.attrVal); } sqlFreeResult(&sr); hasAttr += printGvLink(escName, i); } if (hasAttr > 0) printf("</DD>"); printf("</DL>\n"); /* split code from printTrackHtml */ printTBSchemaLink(tdb); -printDataVersion(tdb); -printOrigAssembly(tdb); +(void) printDataVersion(tdb); +(void) printOrigAssembly(tdb); printUpdateTime(database, tdb, NULL); if (tdb->html != NULL && tdb->html[0] != 0) { htmlHorizontalLine(); puts(tdb->html); } hPrintf("<BR>\n"); gvPosFree(&mut); freeMem(escName); freeMem(gvPrevCat); freeMem(gvPrevType); //printTrackHtml(tdb); hFreeConn(&conn); }