5c780271cd7e0b3c24557be440a31ecd8e8b91e6
kate
  Tue May 19 11:42:05 2015 -0700
Change hard-coded paths and version to expected for production (v0, file on genome.ucsc.edu). refs #10015

diff --git src/hg/lib/trackHubCheck.c src/hg/lib/trackHubCheck.c
index 18e808c..963f1c4 100644
--- src/hg/lib/trackHubCheck.c
+++ src/hg/lib/trackHubCheck.c
@@ -264,31 +264,31 @@
 verbose(2, "%d tracks in %s\n", slCount(tdbList), genome->name);
 struct trackDb *tdb;
 for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
     {
     retVal |= hubCheckTrack(hub, genome, tdb, options, errors);
     }
 
 return retVal;
 }
 
 
 char *trackHubVersionDefault()
 /* Return current version of trackDb settings spec for hubs */
 {
 // TODO: get from goldenPath/help/trackDb/trackDbHub.current.html
-    return "v1";  // minor rev to v1a, etc.
+    return "v0";  // minor rev to v1a, etc.
 }
 
 
 int trackHubSettingLevel(struct trackHubSetting *spec)
 /* Get integer for level  (core > full > new > deprecated) */
 {
 if (sameString(spec->level, "core"))
     return 4;
 if (sameString(spec->level, "full"))
     return 3;
 if (sameString(spec->level, "new"))
     return 2;
 if (sameString(spec->level, "deprecated"))
     return 1;
 return 0; // errAbort ?
@@ -301,35 +301,33 @@
 return trackHubSettingLevel(spec1) - trackHubSettingLevel(spec2);
 }
 
 
 struct trackHubSetting *trackHubSettingsForVersion(char *version)
 /* Return list of settings with support level. Version can be version string or spec url */
 {
 if (version == NULL)
     version = trackHubVersionDefault();
 char *specUrl;
 if (startsWith("http", version))
     specUrl = version;
 else
     {
     char buf[256];
-    safef(buf, sizeof buf, 
-        //"http://genome.ucsc.edu/goldenPath/help/trackDb/trackDbHub.%s.html", 
-        // TODO: switch to RR (and move to #define)
-        "http://hgwdev-kate.cse.ucsc.edu/goldenPath/help/trackDb/trackDbHub.%s.html",
-        version);
+    char *specHost = "genome.ucsc.edu";
+    safef(buf, sizeof buf, "http://%s/goldenPath/help/trackDb/trackDbHub.%s.html", 
+                        specHost, version);
     specUrl = buf;
     }
 verbose(2, "Validating to spec at %s\n", specUrl);
 struct htmlPage *page = htmlPageGet(specUrl);
 if (page == NULL)
     errAbort("Can't open trackDb settings spec %s\n", specUrl);
 
 //TODO: apply page validator
 //htmlPageValidateOrAbort(page);  // would like to use this, but current page doesn't validate
 // Would need to replace empty table (replaced by JS) with div, and assure htmlPageValidateOrAbort
 // is run on any page change.
 
 /* TODO: validate this is a trackDbHub spec */
 /* (scan tags for tag->name="span" tag->attribute="id", attr->"value=trackDbHub_version",
  * might want to limit to first N tags) */
@@ -385,31 +383,36 @@
             {
             hashAdd(specHash, spec->name, spec);
             verbose(6, "added spec %s at level %s\n", spec->name, spec->level);
             }
         else if (trackHubSettingLevelCmp(spec, savedSpec) > 0)
             {
             hashReplace(specHash, spec->name, spec);
             verbose(6, "replaced spec %s at level %s, was %s\n", 
                 spec->name, spec->level, savedSpec->level);
             }
         }
     }
 verbose(5, "Found %d <div>'s\n", divCount);
 struct hashEl *el, *list = hashElListHash(specHash);
 
+int settingsCt = slCount(list);
 verbose(5, "Found %d settings's\n", slCount(list));
+if (settingsCt == 0)
+    errAbort("Can't find trackDb settings support levels at %s."
+              " Use -v to indicate a different version number or url.\n", specUrl);
+
 slSort(&list, hashElCmp);
 struct trackHubSetting *specs = NULL;
 int coreCt = 0;
 for (el = list; el != NULL; el = el->next)
     {
     if (sameString(((struct trackHubSetting *)el->val)->level, "core"))
         coreCt++;
     slAddHead(&specs, el->val);
     }
 slReverse(&specs);
 verbose(3, "Found %d supported settings for this version (%d core)\n",
                         slCount(specs), coreCt);
 return specs;
 }