1758abf67337a0da83715097a7ace1f3e8f7bfd6 galt Thu Feb 14 23:42:40 2019 -0800 changing it to clear out the name-to-use for the downloaded archive. diff --git src/hg/hgSession/backup.c src/hg/hgSession/backup.c index f7b58a6..ea89aaf 100644 --- src/hg/hgSession/backup.c +++ src/hg/hgSession/backup.c @@ -610,31 +610,30 @@ char greek[32]; sprintWithGreekByte(greek, sizeof(greek), trackDataToDownload); if (trackDataToDownload == 0) // suppress 0.0 B greek[0] = 0; // empty string printf("<tr><td>%s</td><td>%s</td></tr>\n", extra->name, greek); // track name totalDataToDownload += trackDataToDownload; } printf("</table>\n"); } printf("<br>\n"); printf("%d custom tracks found.<br>\n", ctCount); -printf("%d custom tracks stored at UCSC.<br>\n", nonBigDataUrlCount); char greek[32]; sprintWithGreekByte(greek, sizeof(greek), totalDataToDownload); printf("Total custom track data to backup: %s ", greek); cgiMakeButton(hgsMakeDownloadPrefix, "create custom tracks backup archive"); printf("<br>\n"); printf("<br>\n"); } void showDownloadSessionCtData(struct hashEl *downloadList) /* Show download page for the given session */ @@ -1092,33 +1091,40 @@ // check the file name, make sure it is not blank char js[1024]; safef(js, sizeof js, "var textVar = document.getElementById('%s');" "if (textVar.value != '')" " return true;" "alert('Please enter a filename for the backup archive');" "return false;" , hgsSaveLocalBackupFileName); jsOnEventById("click", downButName, js); // Add a button that just returns to the saved sessions list. // because after pressing download and it will go into the users downloads folder, // the browser remains sitting on this page and needs a way to return -// to the saved sessions list. +// to the saved sessions list. Also clear the download name field. printf(" "); -printf("<input type='submit' value='return'>"); +printf("<input type='submit' id='hgsReturn' value='return'>"); +safef(js, sizeof js, +"var textVar = document.getElementById('%s');" +"textVar.value = '';" +"return true;" +, hgsSaveLocalBackupFileName); + +jsOnEventById("click", "hgsReturn", js); printf("<br>\n"); printf("<br>\n"); hDisconnectCentral(&conn); printf("</FORM>\n"); htmlClose(); fflush(stdout); } void doDownloadSessionCtData(struct hashEl *downloadPathList) /* Download given table to browser to save. */ { @@ -1147,17 +1153,19 @@ long remaining = fSize; int bufSize = 65536; char *buf = needMem(bufSize); while (remaining) { int bufRemain = bufSize; if (bufRemain > remaining) bufRemain = remaining; mustRead(f, buf, bufRemain); // mustRead OK since we are reading from disk mustWrite(stdout, buf, bufRemain); remaining -= bufRemain; lazarusLives(20 * 60); // extend keep-alive time. for big downloads on slow connections. } carefulClose(&f); +cartRemove(cart, hgsSaveLocalBackupFileName); + }