a678ada6c54aca4486bef3da5a363ab614e8c733 kate Wed May 13 09:01:24 2015 -0700 Add version check features to hubCheck (-version, -core, -extra, -settings). Initial coding, not yet functional. Also added levels (for testing only) to settings spec. refs #10015 diff --git src/hg/inc/trackHub.h src/hg/inc/trackHub.h index 6467f19..ee5cb7e 100644 --- src/hg/inc/trackHub.h +++ src/hg/inc/trackHub.h @@ -58,43 +58,46 @@ char *twoBitPath; /* URL to twoBit. If not null, this is an assmebly hub*/ struct twoBitFile *tbf; /* open handle to two bit file */ char *groups; /* URL to group.txt file */ char *defaultPos; /* default position */ char *organism; /* organism name, like Human */ char *description; /* description, also called freeze name */ struct trackHub *trackHub; /* associated track hub */ unsigned orderKey; /* the orderKey for changing the order from the order in the file */ }; struct trackHubCheckOptions /* How to check track hub */ { char *version; /* hub spec version to check */ boolean strict; /* check hub is valid to 'core' level for version */ - struct hash *extra; /* additional trackDb settings to accept */ + char *extraFile; /* name of extra file/url with additional settings to accept */ boolean checkFiles; /* check remote files exist and are correct type */ + /* intermediate data */ + struct hash *settings; /* supported settings for this version */ + struct hash *extra; /* additional trackDb settings to accept */ }; struct trackHubSetting /* Setting name and support level, from trackDbHub.html (the spec) */ { struct trackHubSetting *next; char *name; /* setting name */ char *level; /* support level (core, full, new, deprecated) */ }; -struct trackHubSetting *trackHubSettingsForVersion(char *version, char *specUrl); +struct trackHubSetting *trackHubSettingsForVersion(char *version); /* Return list of settings with support level */ char *trackHubVersionDefault(); /* Return current hub version */ void trackHubClose(struct trackHub **pHub); /* Close up and free resources from hub. */ struct trackHub *trackHubOpen(char *url, char *hubName); /* Open up a track hub from url. Reads and parses hub.ra and the genomesFile. * The hubName is generally just the asciified ID number. */ struct trackHubGenome *trackHubFindGenome(struct trackHub *hub, char *genomeName); /* Return trackHubGenome of given name associated with hub. Return NULL if no * such genome. */