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; }