770ed6ada89bdaaac49ba96963510af0a9338b89
galt
Thu Feb 14 11:44:29 2019 -0800
hgSession custom track backup archive creation for downloading. Changing approach from backupAndRestore to backupOnly. Uses just plain real ascii .ct custom tracks.
diff --git src/hg/hgSession/hgSession.c src/hg/hgSession/hgSession.c
index c15aecc..6192545 100644
--- src/hg/hgSession/hgSession.c
+++ src/hg/hgSession/hgSession.c
@@ -453,54 +453,30 @@
printf(" ");
cgiMakeButton(hgsDoLoadLocal, "submit");
printf("\n");
printf("
\n");
printf("Use settings from a URL (http://..., ftp://...):"
" \n");
printf("\n");
cgiMakeOnKeypressTextVar(hgsLoadUrlName,
cartUsualString(cart, hgsLoadUrlName, ""),
20, jsPressOnEnter(hgsDoLoadUrl));
printf(" ");
cgiMakeButton(hgsDoLoadUrl, "submit");
printf(" \n");
-printf(" \n");
-
-char name[256];
-safef(name, sizeof name, "%s", hgsExtractUploadPrefix);
-
-printf("");
-printf("Use settings including custom tracks in local backup archive file (.tar.gz): ");
-printf(" ", name, name);
-printf(" ");
-printf(" ");
-
-// check the file name, e.g. does it have the right name or extension?
-char js[1024];
-safef(js, sizeof js,
-"var control = document.getElementById('%s');"
-"var files = control.files;"
-"if ((files.length == 1) && (files[0].name.endsWith('.tar.gz')))"
-" return true;"
-"alert('Please choose the correct backup archive ending in .tar.gz');"
-"return false;"
-, name);
-
-jsOnEventById("click", "archiveUpload", js);
-
printf("\n");
printf("
\n");
}
void showSavingOptions(char *userName)
/* Show options for saving a new named session in our db or to a file. */
{
printf("Save Settings \n");
printf("\n");
if (isNotEmpty(userName))
{
printf("Save current settings as named session:"
" \n"
" name: \n");
@@ -551,33 +527,33 @@
char *compressType = cartUsualString(cart, hgsSaveLocalFileCompress, textOutCompressNone);
cgiMakeRadioButton(hgsSaveLocalFileCompress, textOutCompressNone,
differentWord(textOutCompressGzip, compressType));
printf(" plain text  ");
cgiMakeRadioButton(hgsSaveLocalFileCompress, textOutCompressGzip,
sameWord(textOutCompressGzip, compressType));
printf(" gzip compressed (ignored if output file is blank)");
printf(" ");
printf(" ");
cgiMakeButton(hgsDoSaveLocal, "submit");
printf(" \n");
printf("(leave file blank to get output in "
"browser window) \n");
printf(" \n");
-printf("Save Full Session: \n");
+printf("Save Custom Tracks: \n");
printf(" ");
-printf("backup settings including custom tracks to archive .tar.gz ");
+printf("backup custom tracks to archive .tar.gz");
printf("");
printf(" ");
cgiMakeButton(hgsShowDownloadPrefix, "submit");
printf(" \n");
printf(" \n");
printf("
\n");
}
void showSessionControls(char *userName, boolean savedSessionsSupported,
boolean webStarted)
/* If userName is non-null, show sessions that belong to user and allow
* saving of named sessions.
* If savedSessionsSupported, allow import of named sessions.
* Allow export/import of settings from file/URL. */
@@ -719,32 +695,30 @@
{
char varName[256];
safef(varName, sizeof(varName), "%s%s", cgiBooleanShadowPrefix(), hgsSharePrefix);
cartRemovePrefix(cart, varName);
cartRemovePrefix(cart, hgsSharePrefix);
safef(varName, sizeof(varName), "%s%s", cgiBooleanShadowPrefix(), hgsGalleryPrefix);
cartRemovePrefix(cart, varName);
cartRemovePrefix(cart, hgsGalleryPrefix);
cartRemovePrefix(cart, hgsLoadPrefix);
cartRemovePrefix(cart, hgsEditPrefix);
cartRemovePrefix(cart, hgsLoadLocalFileName);
cartRemovePrefix(cart, hgsDeletePrefix);
cartRemovePrefix(cart, hgsShowDownloadPrefix);
cartRemovePrefix(cart, hgsMakeDownloadPrefix);
cartRemovePrefix(cart, hgsDoDownloadPrefix);
-cartRemovePrefix(cart, hgsExtractUploadPrefix);
-cartRemovePrefix(cart, hgsDoUploadPrefix);
cartRemovePrefix(cart, hgsDo);
cartRemove(cart, hgsOldSessionName);
cartRemove(cart, hgsCancel);
}
static void outIfNotPresent(struct cart *cart, struct dyString *dy, char *track, int tdbVis)
/* Output default trackDb visibility if it's not mentioned in the cart. */
{
char *cartVis = cartOptionalString(cart, track);
if (cartVis == NULL)
{
if (dy)
dyStringPrintf(dy,"&%s=%s", track, hStringFromTv(tdbVis));
else
printf("%s %s\n", track, hStringFromTv(tdbVis));
@@ -1463,32 +1437,30 @@
char *encNewName = cgiEncodeFull(newName);
sqlSafef(query, sizeof(query),
"UPDATE %s set sessionName = '%s' WHERE userName = '%s' AND sessionName = '%s';",
namedSessionTable, encNewName, encUserName, encSessionName);
sqlUpdate(conn, query);
dyStringPrintf(dyMessage, "Changed session name from %s to %s .\n",
sessionName, newName);
sessionName = newName;
encSessionName = encNewName;
renamePrefixedCartVar(hgsEditPrefix , encOldSessionName, encNewName);
renamePrefixedCartVar(hgsLoadPrefix , encOldSessionName, encNewName);
renamePrefixedCartVar(hgsDeletePrefix , encOldSessionName, encNewName);
renamePrefixedCartVar(hgsShowDownloadPrefix , encOldSessionName, encNewName);
renamePrefixedCartVar(hgsMakeDownloadPrefix , encOldSessionName, encNewName);
renamePrefixedCartVar(hgsDoDownloadPrefix , encOldSessionName, encNewName);
- renamePrefixedCartVar(hgsExtractUploadPrefix, encOldSessionName, encNewName);
- renamePrefixedCartVar(hgsDoUploadPrefix , encOldSessionName, encNewName);
if (shared >= 2)
{
thumbnailRemove(encUserName, encSessionName, conn);
thumbnailAdd(encUserName, encNewName, conn, dyMessage);
}
}
char sharedVarName[256];
char galleryVarName[256];
safef(sharedVarName, sizeof(sharedVarName), hgsSharePrefix "%s", encOldSessionName);
safef(galleryVarName, sizeof(galleryVarName), hgsGalleryPrefix "%s", encOldSessionName);
if (cgiBooleanDefined(sharedVarName) || cgiBooleanDefined(galleryVarName))
{
int newShared = shared;
if (cgiBooleanDefined(sharedVarName))
@@ -1670,143 +1642,63 @@
{
// clear backgroundStatus from the cart
cartRemove(cart, "backgroundStatus");
/* Save cart variables. */
cartSaveState(cart);
getBackgroundStatus(backgroundStatus);
exit(0);
}
char *backgroundExec = cloneString(cgiUsualString("backgroundExec", NULL));
struct hashEl *showDownloadList = cartFindPrefix(cart, hgsShowDownloadPrefix);
struct hashEl *makeDownloadList = cartFindPrefix(cart, hgsMakeDownloadPrefix);
struct hashEl *doDownloadList = cartFindPrefix(cart, hgsDoDownloadPrefix);
-struct hashEl *extractUploadList = cartFindPrefix(cart, hgsExtractUploadPrefix);
-struct hashEl *doUploadList = cartFindPrefix(cart, hgsDoUploadPrefix);
-// The form gets submitted but no filename for upload was chosen and submitted.
-if (extractUploadList && sameString(hgsExtractUploadPrefix, extractUploadList->name))
- extractUploadList = NULL; // no filename was submitted. ignore.
+// TODO REMOVE THESE LINES GALT
+//struct hashEl *extractUploadList = cartFindPrefix(cart, hgsExtractUploadPrefix);
+//struct hashEl *doUploadList = cartFindPrefix(cart, hgsDoUploadPrefix);
if (showDownloadList)
showDownloadSessionCtData(showDownloadList);
else if (makeDownloadList)
{
if (sameOk(backgroundExec,"makeDownloadSessionCtData"))
{
// only one, not a list.
struct hashEl *hel = makeDownloadList;
char *param1 = cloneString(hel->name);
char *backgroundProgress = NULL;
prepBackGroundCall(&backgroundProgress, hgsMakeDownloadPrefix);
makeDownloadSessionCtData(param1, backgroundProgress);
exit(0); // cannot return
}
else
{
launchForeAndBackGround("makeDownloadSessionCtData");
exit(0);
}
}
else if (doDownloadList)
doDownloadSessionCtData(doDownloadList);
-else if (extractUploadList)
- {
- if (sameOk(backgroundExec,"extractUploadSessionCtData"))
- {
- // only one, but becomes a list
- // since there are multiple cart names with suffixes for handling binary submitted file.
- //hgS_extractUpload___filepath
- //hgS_extractUpload___binary
- //hgS_extractUpload___filename
- char *param1 = NULL;
- char *param2 = NULL;
- char *param3 = NULL;
- struct hashEl *hel = NULL;
- for (hel = extractUploadList; hel; hel = hel->next)
- {
- if (endsWith(hel->name, "__binary"))
- param1 = cloneString(hel->name);
- if (endsWith(hel->name, "__filename"))
- param2 = cloneString(hel->name);
- if (endsWith(hel->name, "__filepath"))
- param3 = cloneString(hel->name);
- }
- if (!param1)
- errAbort("missing __binary param");
- if (!param2)
- errAbort("missing __filename param");
- if (!param3)
- errAbort("missing __filepath param");
-
- char *param1Value = cloneString(cartOptionalString(cart, param1));
- char *param2Value = cloneString(cartOptionalString(cart, param2));
- char *param3Value = cloneString(cartOptionalString(cart, param3));
-
- char *backgroundProgress = NULL;
- prepBackGroundCall(&backgroundProgress, hgsExtractUploadPrefix);
-
- extractUploadSessionCtData(
- param1, param1Value,
- param2, param2Value,
- param3, param3Value,
- backgroundProgress);
-
- exit(0); // cannot return
- }
- else
- {
- passSubmittedBinaryAsTrashFile(extractUploadList);
-
- launchForeAndBackGround("extractUploadSessionCtData");
-
- exit(0);
- }
-
- }
-else if (doUploadList)
- {
- if (sameOk(backgroundExec,"doUploadSessionCtData"))
- {
- // only one, not a list.
- struct hashEl *hel = doUploadList;
- char *param1 = cloneString(hel->name);
-
- char *backgroundProgress = NULL;
- prepBackGroundCall(&backgroundProgress, hgsDoUploadPrefix);
-
- doUploadSessionCtData(param1, backgroundProgress);
-
- exit(0); // cannot return
- }
- else
- {
-
- launchForeAndBackGround("doUploadSessionCtData");
-
- exit(0);
- }
-
- }
else if (cartVarExists(cart, hgsDoMainPage) || cartVarExists(cart, hgsCancel))
doMainPage(userName, NULL);
else if (cartVarExists(cart, hgsDoNewSession))
{
char *message = doNewSession(userName);
doMainPage(userName, message);
}
else if (cartVarExists(cart, hgsDoOtherUser))
{
char *message = doOtherUser(hgsDoOtherUser);
doMainPage(userName, message);
}
else if (cartVarExists(cart, hgsDoSaveLocal))
{
doSaveLocal();