ceea30345eb5cd239b8fd0c5b472b939ff2b64ee braney Fri Aug 23 15:18:07 2024 -0700 if hub tracks specify a group that doesn't exist they should go into the generic hub group, not "other" diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index 4ad2388..532341b 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -1190,30 +1190,48 @@ addPrefixToSetting(tdb->settingsHash, "parent", prefix); reprefixString(&tdb->track, prefix); if (tdb->table != NULL) reprefixString(&tdb->table, prefix); } } void trackHubAddNamePrefix(char *hubName, struct trackDb *tdbList) /* For a hub named "hub_1" add the prefix "hub_1_" to each track and parent field. */ { char namePrefix[PATH_LEN]; safef(namePrefix, sizeof(namePrefix), "%s_", hubName); trackDbListAddNamePrefix(tdbList, namePrefix); } +char *trackHubGetHubName(char *name) +/* Get the hub_#_ prefix in a hub name. */ +{ +if ((name == NULL) || !startsWith("hub_", name)) + return NULL; + +char *ret = cloneString(name); +char *under = strchr(&ret[4], '_'); + +if (under) + { + *under = 0; + return ret; + } + +return NULL; +} + char *trackHubSkipHubName(char *name) /* Skip the hub_#_ prefix in a hub name. */ { if ((name == NULL) || !startsWith("hub_", name)) return name; return strchr(&name[4], '_') + 1; } void trackHubAddGroupName(char *hubName, struct trackDb *tdbList) /* Add group tag that references the hubs symbolic name. */ { struct trackDb *tdb; for (tdb = tdbList; tdb != NULL; tdb = tdb->next) { tdb->grp = cloneString(hubName);