84881cd63a7a22436c8f6915a9b587941e923f73 braney Wed Apr 5 15:52:22 2017 -0700 check hgdownload for public.ix if not stored locally diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c index dc41848..df88f2c 100644 --- src/hg/hgHubConnect/hgHubConnect.c +++ src/hg/hgHubConnect/hgHubConnect.c @@ -14,30 +14,31 @@ #include "cheapcgi.h" #include "htmshell.h" #include "hdb.h" #include "hui.h" #include "cart.h" #include "dbDb.h" #include "web.h" #include "trackHub.h" #include "hubConnect.h" #include "dystring.h" #include "hPrint.h" #include "jsHelper.h" #include "obscure.h" #include "hgConfig.h" #include "trix.h" +#include "net.h" struct cart *cart; /* The user's ui state. */ struct hash *oldVars = NULL; static char *pageTitle = "Track Data Hubs"; char *database = NULL; char *organism = NULL; static void ourCellStart() { fputs("<TD>", stdout); // do not add a newline } static void ourCellEnd() @@ -304,34 +305,37 @@ struct trix *trix = trixOpen(trixFile); int trixWordCount = chopString(hubSearchTerms, " ", NULL, 0); char *trixWords[trixWordCount]; trixWordCount = chopString(hubSearchTerms, " ", trixWords, trixWordCount); struct trixSearchResult *tsList = trixSearch(trix, trixWordCount, trixWords, tsmExpand); for ( ; tsList != NULL; tsList = tsList->next) hashStore(urlSearchHash, tsList->itemId); return urlSearchHash; } static boolean outputPublicTable(struct sqlConnection *conn, char *publicTable, char *statusTable, struct hash **pHash) /* Put up the list of public hubs and other controls for the page. */ { -char *trixFile = cfgOptionEnvDefault("HUBSEARCHTRIXFILE", "hubSearchTrixFile", "/gbdb/hubs/public.ix"); +char *trixFile = hReplaceGbdb(cfgOptionEnvDefault("HUBSEARCHTRIXFILE", "hubSearchTrixFile", "/gbdb/hubs/public.ix")); char *hubSearchTerms = cartOptionalString(cart, hgHubSearchTerms); char *cleanSearchTerms = cloneString(hubSearchTerms); -boolean haveTrixFile = fileExists(trixFile); +int trixFd = netUrlOpen(trixFile); +boolean haveTrixFile = (trixFd != -1); +if (haveTrixFile) + close(trixFd); struct hash *urlSearchHash = NULL; printf("<div id=\"publicHubs\" class=\"hubList\"> \n"); // if we have a trix file, draw the search box if (haveTrixFile) { puts("Enter search terms to find in public track hub description pages:<BR>" "<input name=\"hubSearchTerms\" id=\"hubSearchTerms\" class=\"hubField\" " "type=\"text\" size=\"65\"> \n" "<input name=\"hubSearchButton\" id='hubSearchButton' " "class=\"hubField\" type=\"button\" value=\"Search Public Hubs\">\n"); jsOnEventById("click", "hubSearchButton", "document.searchHubForm.elements['hubSearchTerms'].value=$('#hubSearchTerms').val();" "document.searchHubForm.submit();return true;");