d5cbd45d0d3db423db2dbad15c653961c0bd29ac hiram Wed Feb 27 13:57:14 2019 -0800 one stop shopping for trackDb now in obtainTdb() function refs #18869 diff --git src/hg/hubApi/apiUtils.c src/hg/hubApi/apiUtils.c index 2c901fe..000290e 100644 --- src/hg/hubApi/apiUtils.c +++ src/hg/hubApi/apiUtils.c @@ -54,15 +54,31 @@ { struct trackHub *hub = NULL; struct errCatch *errCatch = errCatchNew(); if (errCatchStart(errCatch)) { hub = trackHubOpen(hubUrl, ""); } errCatchEnd(errCatch); if (errCatch->gotError) { apiErrAbort("error opening hubUrl: '%s', '%s'", hubUrl, errCatch->message->string); } errCatchFree(&errCatch); return hub; } + +struct trackDb *obtainTdb(struct trackHubGenome *genome, char *db) +/* return a full trackDb fiven the hub genome pointer, or ucsc database name */ +{ +struct trackDb *tdb = NULL; +if (db) + tdb = hTrackDb(db); +else + { + tdb = trackHubTracksForGenome(genome->trackHub, genome); + tdb = trackDbLinkUpGenerations(tdb); + tdb = trackDbPolishAfterLinkup(tdb, genome->name); + slSort(&tdb, trackDbCmp); + } +return tdb; +}