05eb41c63af8ccd369f76b022d3cf1faab5543c2 braney Thu May 26 16:25:07 2022 -0700 changes to support curated hubs diff --git src/hg/makeDb/hgTrackDb/hgTrackDb.c src/hg/makeDb/hgTrackDb/hgTrackDb.c index 043ffce..88afad5 100644 --- src/hg/makeDb/hgTrackDb/hgTrackDb.c +++ src/hg/makeDb/hgTrackDb/hgTrackDb.c @@ -43,50 +43,53 @@ " - the table name in the CREATE statement is replaced by the\n" " - table name specified on this command line.\n" " hgRoot - a directory name to prepend to org to locate the hierarchy:\n" " hgRoot/trackDb.ra - top level trackDb.ra file processed first\n" " hgRoot/org/trackDb.ra - second level file processed second\n" " hgRoot/org/database/trackDb.ra - third level file processed last\n" " - for no directory hierarchy use .\n" " -strict - only include tables that exist (and complain about missing html files).\n" " -raName=trackDb.ra - Specify a file name to use other than trackDb.ra\n" " for the ra files.\n" " -release=alpha|beta|public - Include trackDb entries with this release tag only.\n" " -settings - for trackDb scanning, output table name, type line,\n" " - and settings hash to stderr while loading everything.\n" " -gbdbList - list of files to confirm existance of bigDataUrl files\n" " -addVersion - add cartVersion pseudo-table\n" + " -noHtmlCheck - don't check for HTML even if strict is set\n" ); } static struct optionSpec optionSpecs[] = { {"raName", OPTION_STRING}, {"strict", OPTION_BOOLEAN}, {"release", OPTION_STRING}, {"settings", OPTION_BOOLEAN}, {"gbdbList", OPTION_STRING}, {"addVersion", OPTION_BOOLEAN}, + {"noHtmlCheck", OPTION_BOOLEAN}, {NULL, 0} }; static char *raName = "trackDb.ra"; static char *release = "alpha"; static char *gbdbList = NULL; static struct hash *gbdbHash = NULL; static boolean addVersion = FALSE; +static boolean noHtmlCheck = FALSE; // release tags #define RELEASE_ALPHA (1 << 0) #define RELEASE_BETA (1 << 1) #define RELEASE_PUBLIC (1 << 2) unsigned releaseBit = RELEASE_ALPHA; static bool showSettings = FALSE; static boolean hasNonAsciiChars(char *text) /* Check if text has any non-printing or non-ascii characters */ { char *c; for (c = text; *c != '\0'; c++) @@ -895,31 +898,31 @@ if (*end == ';') *end = 0; sqlSafef(query, sizeof(query), create, NULL); sqlRemakeTable(conn, trackDbName, query); /* Load in regular fields. */ sqlSafef(query, sizeof(query), "load data local infile '%s' into table %s", tab, trackDbName); verbose(2, "sending mysql \"%s\"\n", query); sqlUpdate(conn, query); verbose(2, "done tab file load"); /* Load in html and settings fields. */ for (td = tdbList; td != NULL; td = td->next) { if (isEmpty(td->html)) { - if (strict && !trackDbLocalSetting(td, "parent") && !trackDbLocalSetting(td, "superTrack") && + if (strict && !noHtmlCheck && !trackDbLocalSetting(td, "parent") && !trackDbLocalSetting(td, "superTrack") && !sameString(td->track,"cytoBandIdeo")) { fprintf(stderr, "Warning: html missing for %s %s %s '%s'\n",org, database, td->track, td->shortLabel); } } else { updateBigTextField(conn, trackDbName, "tableName", td->track, "html", td->html); } if (td->settingsHash != NULL) { char *settings = settingsFromHash(td->settingsHash, database); updateBigTextField(conn, trackDbName, "tableName", td->track, "settings", settings); if (showSettings) @@ -977,22 +980,23 @@ int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, optionSpecs); if (argc != 6) usage(); raName = optionVal("raName", raName); showSettings = optionExists("settings"); if (strchr(raName, '/') != NULL) errAbort("-raName value should be a file name without directories"); release = optionVal("release", release); releaseBit = getReleaseBit(release); gbdbList = optionVal("gbdbList", gbdbList); addVersion = optionExists("addVersion"); +noHtmlCheck = optionExists("noHtmlCheck"); if (gbdbList) gbdbHash = hashLines(gbdbList); hgTrackDb(argv[1], argv[2], argv[3], argv[4], argv[5], optionExists("strict")); return 0; }