f065348d515b4ebfc2b83149e050120dcb410a57
braney
  Sat Jun 21 14:21:30 2014 -0700
add a couple features requested in #11633
diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index e19c534..fc98550 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -1088,60 +1088,66 @@
 }
 
 int trackHubCheck(char *hubUrl, struct dyString *errors, 
     boolean checkTracks, FILE *searchFp)
 /* hubCheck - Check a track data hub for integrity. Put errors in dyString.
  *      return 0 if hub has no errors, 1 otherwise 
  *      if checkTracks is TRUE, individual tracks are checked
  */
 
 {
 struct errCatch *errCatch = errCatchNew();
 struct trackHub *hub = NULL;
 int retVal = 0;
 
 if (errCatchStart(errCatch))
-    hub = trackHubOpen(hubUrl, "");
+    hub = trackHubOpen(hubUrl, "hub_0");
 errCatchEnd(errCatch);
 
 if (errCatch->gotError)
     {
     retVal = 1;
     dyStringPrintf(errors, "%s", errCatch->message->string);
     }
 errCatchFree(&errCatch);
 
 if (hub == NULL)
     return 1;
 
 verbose(2, "hub %s\nshortLabel %s\nlongLabel %s\n", hubUrl, hub->shortLabel, hub->longLabel);
 verbose(2, "%s has %d elements\n", hub->genomesFile, slCount(hub->genomeList));
 
 if (searchFp != NULL)
     {
+    struct trackHubGenome *genomeList = hub->genomeList;
+
+    for(; genomeList ; genomeList = genomeList->next)
+	fprintf(searchFp, "%s\t%s\n",hub->url,  trackHubSkipHubName(genomeList->name));
+    fprintf(searchFp, "%s\t%s\t%s\n",hub->url, hub->shortLabel, hub->longLabel);
+
     if (hub->descriptionUrl != NULL)
 	{
 	char *html = netReadTextFileIfExists(hub->descriptionUrl);
 	char *stripHtml =htmlTextStripTags(html);
 	strSwapChar(stripHtml, '\n', ' ');
 	strSwapChar(stripHtml, '\t', ' ');
 	strSwapChar(stripHtml, '\015', ' ');
 	strSwapChar(stripHtml, ')', ' ');
 	strSwapChar(stripHtml, '(', ' ');
 	strSwapChar(stripHtml, '[', ' ');
 	strSwapChar(stripHtml, ']', ' ');
-	fprintf(searchFp, "%s\t%s\t%s\t%s\n",hub->url, hub->shortLabel, hub->longLabel, stripHtml);
+	fprintf(searchFp, "%s\t%s\n",hub->url,  stripHtml);
 	}
 
     return 0;
     }
 
 struct trackHubGenome *genome;
 for (genome = hub->genomeList; genome != NULL; genome = genome->next)
     {
     retVal |= hubCheckGenome(hub, genome, errors, checkTracks, NULL);
     }
 trackHubClose(&hub);
 
 return retVal;
 }