4898794edd81be5285ea6e544acbedeaeb31bf78 max Tue Nov 23 08:10:57 2021 -0800 Fixing pointers to README file for license in all source code files. refs #27614 diff --git src/hg/cirm/cdw/cdwAddSubscriber/cdwAddSubscriber.c src/hg/cirm/cdw/cdwAddSubscriber/cdwAddSubscriber.c index 5e5e7b0..50e5735 100644 --- src/hg/cirm/cdw/cdwAddSubscriber/cdwAddSubscriber.c +++ src/hg/cirm/cdw/cdwAddSubscriber/cdwAddSubscriber.c @@ -1,93 +1,93 @@ /* cdwAddSubscriber - Add a subscriber - a program that runs automatically when a file is * received. */ /* Copyright (C) 2013 The Regents of the University of California - * See README in this or parent directory for licensing information. */ + * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #include "common.h" #include "linefile.h" #include "hash.h" #include "options.h" #include "jksql.h" #include "cdw.h" #include "cheapcgi.h" #include "cdwLib.h" #include "ra.h" char *filePattern = "*"; char *dirPattern = "*"; char *tagPattern = NULL; void usage() /* Explain usage and exit. */ { errAbort( "cdwAddSubscriber - Add a subscriber - a program that runs automatically when a file is\n" "received.\n" "usage:\n" " cdwAddSubscriber name 'command line including %%u for cdw file ID'\n" "options:\n" " '-filePattern=wildCardString' restrict subscription to files matching wildcard.\n" " '-dirPattern=wildCardString' restrict subscription to files from given hub directories\n" " -tagPattern=raFile restrict subscription to files that have tags matching vals in raFile\n" ); } /* Command line validation table. */ static struct optionSpec options[] = { {"filePattern", OPTION_STRING}, {"dirPattern", OPTION_STRING}, {"tagPattern", OPTION_STRING}, {NULL, 0}, }; void readFirstStanzaAsCgi(char *fileName, struct dyString *dy) /* Read ra file's first stanza as tags and save them as if they were cgi-vars */ { struct lineFile *lf = lineFileOpen(fileName, TRUE); struct slPair *pair, *pairList = raNextStanzAsPairs(lf); lineFileClose(&lf); for (pair = pairList; pair != NULL; pair = pair->next) { cgiEncodeIntoDy(pair->name, pair->val, dy); } slPairFreeValsAndList(&pairList); } void cdwAddSubscriber(char *name, char *command) /* cdwAddSubscriber - Add a subscriber - a program that runs automatically when a file is * received. */ { /* Check that there is a '%u' in command. */ if (!stringIn("%u", command)) errAbort("Command does not include a %%u to substitute for file id"); struct dyString *tagAsCgi = dyStringNew(0); if (tagPattern != NULL) readFirstStanzaAsCgi(tagPattern, tagAsCgi); struct sqlConnection *conn = sqlConnect(cdwDatabase); struct dyString *query = dyStringNew(0); sqlDyStringPrintf(query, "insert cdwSubscriber (name, filePattern, dirPattern, tagPattern, onFileEndUpload) " "values ('%s','%s','%s','%s','%s')", name, filePattern, dirPattern, tagAsCgi->string, command); sqlUpdate(conn, query->string); sqlDisconnect(&conn); } int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, options); filePattern = optionVal("filePattern", filePattern); dirPattern = optionVal("dirPattern", dirPattern); tagPattern = optionVal("tagPattern", tagPattern); if (argc != 3) usage(); cdwAddSubscriber(argv[1], argv[2]); return 0; }