ba87d8471c9c78f15412ccad2aaba9b46d1af38e hiram Tue Jul 2 16:14:47 2024 -0700 eliminte the dependency upon specific genArk genome names, use the genark table for questions about existence, refs #32596 diff --git src/hg/hubApi/list.c src/hg/hubApi/list.c index d2e52c2..8fd76aa 100644 --- src/hg/hubApi/list.c +++ src/hg/hubApi/list.c @@ -1100,34 +1100,33 @@ } jsonWriteObjectEnd(jw); apiFinishOutput(0, NULL, jw); } } else if (sameWord("tracks", words[1])) { char *extraArgs = verifyLegalArgs(argListTracks); if (extraArgs) apiErrAbort(err400, err400Msg, "extraneous arguments found for function /list/tracks '%s'", extraArgs); char *hubUrl = cgiOptionalString("hubUrl"); char *genome = cgiOptionalString("genome"); char *db = cgiOptionalString("genome"); /* allow a GCx genome specified without hubUrl for GenArk genomes */ - if (isEmpty(hubUrl) && isNotEmpty(genome) && isGenArk(genome)) - { - hubUrl = genArkHubTxt(genome); - } + if (isEmpty(hubUrl) && isNotEmpty(genome)) + hubUrl = genarkUrl(genome); + if (isEmpty(hubUrl) && isNotEmpty(db)) { struct sqlConnection *conn = hAllocConnMaybe(db); if (NULL == conn) apiErrAbort(err400, err400Msg, "can not find 'genome=%s' for endpoint '/list/tracks", db); else hFreeConn(&conn); } if (isEmpty(hubUrl) && isEmpty(db)) apiErrAbort(err400, err400Msg, "missing hubUrl or genome name for endpoint /list/tracks"); if (isEmpty(hubUrl)) // missing hubUrl implies UCSC database { trackDbJsonOutput(db, stdout); // only need db for this function return; } @@ -1151,34 +1150,33 @@ recursiveTrackList(jw, el, db); } jsonWriteObjectEnd(jw); apiFinishOutput(0, NULL, jw); } else if (sameWord("chromosomes", words[1])) { char *extraArgs = verifyLegalArgs(argListChromosomes); if (extraArgs) apiErrAbort(err400, err400Msg, "extraneous arguments found for function /list/chromosomes '%s'", extraArgs); char *hubUrl = cgiOptionalString("hubUrl"); char *genome = cgiOptionalString("genome"); char *db = cgiOptionalString("genome"); /* allow a GCx genome specified without hubUrl for GenArk genomes */ - if (isEmpty(hubUrl) && isNotEmpty(genome) && isGenArk(genome)) - { - hubUrl = genArkHubTxt(genome); - } + if (isEmpty(hubUrl) && isNotEmpty(genome)) + hubUrl = genarkUrl(genome); + if (isEmpty(hubUrl) && isNotEmpty(db)) { struct sqlConnection *conn = hAllocConnMaybe(db); if (NULL == conn) apiErrAbort(err400, err400Msg, "can not find 'genome=%s' for endpoint '/list/chromosomes", db); else hFreeConn(&conn); } if (isEmpty(hubUrl) && isEmpty(db)) apiErrAbort(err400, err400Msg, "must supply hubUrl or genome name for endpoint '/list/chromosomes", hubUrl, db); if (isEmpty(hubUrl)) // missing hubUrl implies UCSC database { chromInfoJsonOutput(stdout, db); return; @@ -1188,34 +1186,32 @@ hubChromInfoJsonOutput(stdout, hubUrl, genome); return; } } else if (sameWord("schema", words[1])) { char *extraArgs = verifyLegalArgs(argListSchema); if (extraArgs) apiErrAbort(err400, err400Msg, "extraneous arguments found for function /list/schema '%s'", extraArgs); char *hubUrl = cgiOptionalString("hubUrl"); char *genome = cgiOptionalString("genome"); char *db = cgiOptionalString("genome"); char *track = cgiOptionalString("track"); /* allow a GCx genome specified without hubUrl for GenArk genomes */ - if (isEmpty(hubUrl) && isNotEmpty(genome) && isGenArk(genome)) - { - hubUrl = genArkHubTxt(genome); - } + if (isEmpty(hubUrl) && isNotEmpty(genome)) + hubUrl = genarkUrl(genome); if (isEmpty(track)) apiErrAbort(err400, err400Msg, "missing track=<name> for endpoint '/list/schema'"); if (isEmpty(hubUrl) && isNotEmpty(db)) { struct sqlConnection *conn = hAllocConnMaybe(db); if (NULL == conn) apiErrAbort(err400, err400Msg, "can not find 'genome=%s' for endpoint '/list/schema", db); else hFreeConn(&conn); } if (isEmpty(hubUrl) && isEmpty(db)) apiErrAbort(err400, err400Msg, "must supply hubUrl or genome name for endpoint '/list/schema", hubUrl, db);