a8fbc07ba5a7a0b99f9b736ecf4a4d1a79d8c6ae
jcasper
  Fri Jul 15 17:09:39 2016 -0700
Additional changes to newProg requested by Angie: set up udcTimeout, knetUdc, and initialize genbank, refs #17686

diff --git src/utils/newProg/newProg.c src/utils/newProg/newProg.c
index 72837dc..4c8cc2b 100644
--- src/utils/newProg/newProg.c
+++ src/utils/newProg/newProg.c
@@ -36,32 +36,41 @@
 void makeCgiBody(char *name, char *description, FILE *f)
 /* Create most of the C file for a CGI. */
 {
 fprintf(f,
 "/* Global Variables */\n"
 "struct cart *cart;             /* CGI and other variables */\n"
 "struct hash *oldVars = NULL;\n"
 "\n"
 );
 
 fprintf(f,
 "void doMiddle(struct cart *theCart)\n"
 "/* Set up globals and make web page */\n"
 "{\n"
 "cart = theCart;\n"
-"char *db = cartUsualString(cart, \"db\", hDefaultDb());\n"
-"cartWebStart(cart, db, \"%s\");\n"
+"char *database = NULL;\n"
+"char *genome = NULL;\n"
+"getDbAndGenome(cart, &database, &genome, oldVars);\n"
+"initGenbankTableNames(database);\n\n"
+
+"int timeout = cartUsualInt(cart, \"udcTimeout\", 300);\n"
+"if (udcCacheTimeout() < timeout)\n"
+"    udcSetCacheTimeout(timeout);\n"
+"knetUdcInstall();\n\n"
+
+"cartWebStart(cart, database, \"%s\");\n"
 "printf(\"Your code goes here....\");\n"
 "cartWebEnd();\n"
 "}\n"
 "\n"
 , description
 );
 
 fprintf(f, 
 "/* Null terminated list of CGI Variables we don't want to save\n"
 " * permanently. */\n"  
 "char *excludeVars[] = {\"Submit\", \"submit\", NULL,};\n"
 "\n"
 );
 
 fprintf(f, 
@@ -127,30 +136,33 @@
 
 fprintf(f, "/* %s - %s. */\n", name, description);
 fprintf(f, "#include \"common.h\"\n");
 fprintf(f, "#include \"linefile.h\"\n");
 fprintf(f, "#include \"hash.h\"\n");
 fprintf(f, "#include \"options.h\"\n");
 if (jkhgap || cgi)
     fprintf(f, "#include \"jksql.h\"\n");
 if (cgi)
     {
     fprintf(f, "#include \"htmshell.h\"\n");
     fprintf(f, "#include \"web.h\"\n");
     fprintf(f, "#include \"cheapcgi.h\"\n");
     fprintf(f, "#include \"cart.h\"\n");
     fprintf(f, "#include \"hui.h\"\n");
+    fprintf(f, "#include \"udc.h\"\n");
+    fprintf(f, "#include \"knetUdc.h\"\n");
+    fprintf(f, "#include \"genbank.h\"\n");
     }
 fprintf(f, "\n");
 
 if (cgi)
     makeCgiBody(name, description, f);
 else
     makeCommandLineBody(name, description, f);
 
 }
 
 void makeMakefile(char *progName, char *makeName)
 /* Make makefile. */
 {
 char *upLevel;
 char *L;
@@ -172,30 +184,32 @@
     warn("WARNING: can not find inc/common.mk 1 to 4 directories up, fix the makefile");
     upLevel = cloneString("../../../../..");
     }
 
 if (jkhgap || cgi)
     {
     L = cloneString("L += $(MYSQLLIBS) -lm");
     myLibs = cloneString("MYLIBS =  $(MYLIBDIR)/jkhgap.a ${MYLIBDIR}/jkweb.a");
     }
 else
     {
     L = cloneString("L += -lm");
     myLibs = cloneString("MYLIBS =  ${MYLIBDIR}/jkweb.a");
     }
 
+fprintf(f, "kentSrc = %s\n", upLevel);
+
 if (cgi)
     {
     fprintf(f, 
     "include %s/inc/common.mk\n"
     "\n"
     "%s\n"
     "MYLIBDIR = %s/lib/${MACHTYPE}\n"
     "%s\n"
     "\n"
     "A = %s\n"
     "O = %s.o\n"
     "\n"
     , upLevel, L, upLevel, myLibs, progName, progName);
 
     fprintf(f,