src/hg/hgApi/hgApi.c 1.2

1.2 2010/05/21 22:29:49 larrym
change to returning a list
Index: src/hg/hgApi/hgApi.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgApi/hgApi.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 4 -r1.1 -r1.2
--- src/hg/hgApi/hgApi.c	21 May 2010 20:26:48 -0000	1.1
+++ src/hg/hgApi/hgApi.c	21 May 2010 22:29:49 -0000	1.2
@@ -27,23 +27,24 @@
 char tabs[100];
 makeIndent(tabs, sizeof(tabs), indent);
 if((*count)++)
     dyStringPrintf(json, ",\n");
-dyStringPrintf(json, "%s\"%s\": {\n", tabs, tdb->track);
+dyStringPrintf(json, "%s{\n", tabs);
 makeIndent(tabs, sizeof(tabs), indent + 1);
-dyStringPrintf(json, "%s\"shortLabel\": \"%s\",\n%s\"longLabel\": \"%s\",\n%s\"group\": \"%s\"",
+dyStringPrintf(json, "%s\"track\": \"%s\",\n%s\"shortLabel\": \"%s\",\n%s\"longLabel\": \"%s\",\n%s\"group\": \"%s\"",
+               tabs, tdb->track,
                tabs, javaScriptLiteralEncode(tdb->shortLabel), tabs, javaScriptLiteralEncode(tdb->longLabel),
                tabs, javaScriptLiteralEncode(tdb->grp));
 if(tdbIsComposite(tdb) && tdb->subtracks != NULL)
     {
     struct trackDb *ptr;
-    dyStringPrintf(json, ",\n%s\"subtracks\": {\n", tabs);
+    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);
+    dyStringPrintf(json, "\n%s]", tabs);
     }
 makeIndent(tabs, sizeof(tabs), indent);
 dyStringPrintf(json, "\n%s}", tabs);
 }
@@ -65,16 +66,16 @@
     if(database)
         {
         struct trackDb *tdb, *tdbList = NULL;
         tdbList = hTrackDb(database, NULL);
-        dyStringPrintf(output, "{\n");
+        dyStringPrintf(output, "[\n");
         int count = 0;
         for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
             {
             trackJson(output, tdb, &count, 1);
             count++;
             }
-        dyStringAppend(output, "\n}\n");
+        dyStringAppend(output, "\n]\n");
         }
     else
         {
         fail("Missing 'db' parameter");