src/hg/hgc/t2g.c 1.2
1.2 2010/05/20 19:14:15 hiram
Adding version information printout
Index: src/hg/hgc/t2g.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/t2g.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 4 -r1.1 -r1.2
--- src/hg/hgc/t2g.c 20 May 2010 18:30:00 -0000 1.1
+++ src/hg/hgc/t2g.c 20 May 2010 19:14:15 -0000 1.2
@@ -81,27 +81,63 @@
void doT2gDetails(struct trackDb *tdb, char *item)
/* text2genome.org custom display */
{
+char versionString[256];
+char dateReference[256];
+char headerTitle[512];
char **row = NULL;
char query[512];
struct sqlResult *sr = NULL;
struct sqlConnection *conn = hAllocConn(database); // where the heck does "database" come from?
safef(query, sizeof(query), "select chrom,chromStart,chromEnd,strand from %s "
"where name = '%s'", tdb->table, item);
sr = sqlGetResult(conn, query);
row = sqlNextRow(sr);
-char *chr = row[0];
+char *chr = cloneString(row[0]);
int start = sqlUnsigned(row[1]);
int end = sqlUnsigned(row[2]);
char strand[2];
strand[0] = row[3][0];
strand[1] = (char)NULL;
-//cartWebStart(cart, database, "Article information ");
-genericHeader(tdb, "Article information");
-printf("<B>Item:</B> %s<BR>\n", item);
-printPos(chr, start, end, strand, TRUE, item);
sqlFreeResult(&sr);
+
+/* see if hgFixed.trackVersion exists */
+boolean trackVersionExists = hTableExists("hgFixed", "trackVersion");
+
+if (trackVersionExists)
+ {
+ char query[256];
+ safef(query, sizeof(query), "select version,dateReference from hgFixed.trackVersion where db = '%s' AND name = 't2g' order by updateTime DESC limit 1", database);
+ struct sqlResult *sr = sqlGetResult(conn, query);
+ char **row;
+
+ /* in case of NULL result from the table */
+ versionString[0] = 0;
+ while ((row = sqlNextRow(sr)) != NULL)
+ {
+ safef(versionString, sizeof(versionString), "version %s",
+ row[0]);
+ safef(dateReference, sizeof(dateReference), "%s",
+ row[1]);
+ }
+ sqlFreeResult(&sr);
+ }
+else
+ {
+ versionString[0] = 0;
+ dateReference[0] = 0;
+ }
+
+if (versionString[0])
+ safef(headerTitle, sizeof(headerTitle), "%s - %s", item, versionString);
+else
+ safef(headerTitle, sizeof(headerTitle), "%s", item);
+
+genericHeader(tdb, headerTitle);
+
+printPos(chr, start, end, strand, TRUE, item);
+freeMem(chr);
char* docId=0;
docId = printArticleInfo(conn, tdb, item);
if (docId!=0)