0a0bd78f9142b1dd5086d3675c5afc07c9b155a2
larrym
  Thu Mar 22 13:36:41 2012 -0700
remove experimental and unused trackList cmd and associated code
diff --git src/hg/hgApi/hgApi.c src/hg/hgApi/hgApi.c
index 4a37237..8c3c9b6 100644
--- src/hg/hgApi/hgApi.c
+++ src/hg/hgApi/hgApi.c
@@ -1,70 +1,42 @@
 /* hgApi - provide a JSON based API to the browser. */
 
 #include "common.h"
 #include "hdb.h"
 #include "mdb.h"
 #include "cheapcgi.h"
 #include "hPrint.h"
 #include "dystring.h"
 #include "hui.h"
 #include "search.h"
 #include "encode/encodeExp.h"
 #include "cv.h"
 
-
 static void fail(char *msg)
 {
 puts("Status: 400\n\n");
 puts(msg);
 exit(-1);
 }
 
 void makeIndent(char *buf, int bufLen, int indent)
 {
 indent = min(indent, bufLen - 2);
 memset(buf, '\t', indent);
 buf[indent] = 0;
 }
 
-static void trackJson(struct dyString *json, struct trackDb *tdb, int *count, int indent)
-{
-char tabs[100];
-makeIndent(tabs, sizeof(tabs), indent);
-if((*count)++)
-    dyStringPrintf(json, ",\n");
-dyStringPrintf(json, "%s{\n", tabs);
-makeIndent(tabs, sizeof(tabs), indent + 1);
-dyStringPrintf(json, "%s\"track\": \"%s\",\n%s\"shortLabel\": \"%s\",\n%s\"longLabel\": \"%s\",\n%s\"group\": \"%s\"",
-               tabs, tdb->track,
-               tabs, tdb->shortLabel, tabs, tdb->longLabel,
-               tabs, tdb->grp);
-if(tdbIsComposite(tdb) && tdb->subtracks != NULL)
-    {
-    struct trackDb *ptr;
-    dyStringPrintf(json, ",\n%s\"subtracks\":\n%s[\n", tabs, tabs);
-    int count = 0;
-    for (ptr = tdb->subtracks; ptr != NULL; ptr = ptr->next)
-        {
-        trackJson(json, ptr, &count, indent + 2);
-        }
-    dyStringPrintf(json, "\n%s]", tabs);
-    }
-makeIndent(tabs, sizeof(tabs), indent);
-dyStringPrintf(json, "\n%s}", tabs);
-}
-
 static void encodeExpJson(struct dyString *json, struct encodeExp *el)
 /* Print out encodeExp in JSON format. Manually converted from autoSql which outputs
  * to file pointer.
  */
 // TODO: move to lib/encode/encodeExp.c, extend autoSql to support, and use json*() functions
 {
 dyStringPrintf(json, "{");
 dyStringPrintf(json, "\"ix\":%u", el->ix);
 dyStringPrintf(json, ", ");
 dyStringPrintf(json, "\"organism\":\"%s\"", el->organism);
 dyStringPrintf(json, ", ");
 dyStringPrintf(json, "\"lab\":\"%s\"", el->lab);
 dyStringPrintf(json, ", ");
 dyStringPrintf(json, "\"dataType\":\"%s\"", el->dataType);
 dyStringPrintf(json, ", ");
@@ -139,62 +111,47 @@
     dyStringPrintf(json, "\"targetId\":\"%s\"", (char *)hashOptionalVal(termHash, "targetId", "unknown"));
     dyStringPrintf(json, ",");
     dyStringPrintf(json, "\"targetUrl\":\"%s\"", (char *)hashOptionalVal(termHash, "targetUrl", "unknown"));
     dyStringPrintf(json, ",");
     dyStringPrintf(json, "\"orderUrl\":\"%s\"", (char *)hashOptionalVal(termHash, "orderUrl", "unknown"));
     // TODO: add validation file(s) ?
     }
 
 dyStringPrintf(json, "}\n");
 }
 
 
 int main(int argc, char *argv[])
 {
 struct dyString *output = newDyString(10000);
+// add cgiSpoof
 char *database = cgiOptionalString("db");
 char *cmd = cgiOptionalString("cmd");
 char *jsonp = cgiOptionalString("jsonp");
 if(database)
     {
     database = sqlEscapeString(database);
     if(!hDbExists(database))
         fail("Invalid database");
     }
 else
     fail("Missing 'db' parameter");
 
 if(!cmd)
     fail("Missing 'cmd' parameter");
 
-if(!strcmp(cmd, "trackList"))
-    {
-    // Return trackList for this assembly
-    // e.g. http://genome.ucsc.edu/hgApi?db=hg18&cmd=trackList
-
-    struct trackDb *tdb, *tdbList = NULL;
-    tdbList = hTrackDb(database);
-    dyStringPrintf(output, "[\n");
-    int count = 0;
-    for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
-        {
-        trackJson(output, tdb, &count, 1);
-        count++;
-        }
-    dyStringAppend(output, "\n]\n");
-    }
-else if(!strcmp(cmd, "defaultPos"))
+if(!strcmp(cmd, "defaultPos"))
     {
     dyStringPrintf(output, "{\"pos\": \"%s\"}", hDefaultPos(database));
     }
 else if(!strcmp(cmd, "metaDb"))
     {
     // Return list of values for given metaDb var
     // e.g. http://genome.ucsc.edu/hgApi?db=hg18&cmd=metaDb&var=cell
 
     struct sqlConnection *conn = hAllocConn(database);
     boolean metaDbExists = sqlTableExists(conn, "metaDb");
     if(metaDbExists)
         {
         char *var = cgiOptionalString("var");
         if(var)
             var = sqlEscapeString(var);