479c4a161664ee3481d0661d134d56a566d43018
tdreszer
Mon Jun 6 16:16:02 2011 -0700
Almost broke beta downloads page. QA would have given me grief.
diff --git src/hg/lib/fileUi.c src/hg/lib/fileUi.c
index 7df9a15..a931b59 100644
--- src/hg/lib/fileUi.c
+++ src/hg/lib/fileUi.c
@@ -48,58 +48,36 @@
|| savedSubDir == NULL || differentString(savedSubDir,subDir))
{
// free up any static mem
freeMem(savedDb);
freeMem(savedDir);
freeMem(savedSubDir);
fileDbFree(&foundFiles);
FILE *scriptOutput = NULL;
char buf[1024];
char cmd[512];
char *words[10];
char *server = hDownloadsServer();
boolean useRsync = TRUE;
-//#define RSYNC_DONT_WORK_ON_HGWDEV
-#ifdef RSYNC_DONT_WORK_ON_HGWDEV
- if (hIsPrivateHost() || hIsPreviewHost())
- {
- // For hgwdev (which is the same machine as "hgdownload-test.cse.ucsc.edu") rsync does not work
- // Use ls -log --time=ctime --time-style=long-iso /usr/local/apache/htdocs-hgdownload/goldenPath/hg19/encodeDCC/wgEncodeBroadHistone
- safef(cmd,sizeof(cmd),"ls -log --time-style=long-iso /usr/local/apache/htdocs-hgdownload/goldenPath/%s/%s/%s/", db,dir,subDir);
- useRsync = FALSE;
- }
- else if (hIsBetaHost())
- {
- // For hgwbeta, the files are being looked for one test in a "beta/" subdir. Have to rsync
- //server = "hgdownload-test.cse.ucsc.edu"; // NOTE: Force this case because beta may think it's downloads server is "hgdownload.cse.ucsc.edu"
- //safef(cmd,sizeof(cmd),"rsync -avn rsync://%s/goldenPath/%s/%s/%s/beta/", server, db, dir, subDir);
- // FIXME: Need cluster-admins help to get rsync solution
- safef(cmd,sizeof(cmd),"ls -log --time-style=long-iso /hive/groups/encode/dcc/pipeline/downloads/%s/%s/beta/", db,subDir);
- useRsync = FALSE;
- }
- else // genome and hgwbeta can use rsync
-#endif///def RSYNC_DONT_WORK_ON_HGWDEV
- {
// Works: rsync -avn rsync://hgdownload.cse.ucsc.edu/goldenPath/hg18/encodeDCC/wgEncodeBroadChipSeq/
if (hIsBetaHost())
safef(cmd,sizeof(cmd),"rsync -n rsync://hgdownload-test.cse.ucsc.edu/goldenPath/%s/%s/%s/beta/", db, dir, subDir); // NOTE: Force this case because beta may think it's downloads server is "hgdownload.cse.ucsc.edu"
else
safef(cmd,sizeof(cmd),"rsync -n rsync://%s/goldenPath/%s/%s/%s/", server, db, dir, subDir);
- }
- //warn("cmd: %s",cmd);
+
scriptOutput = popen(cmd, "r");
while(fgets(buf, sizeof(buf), scriptOutput))
{
eraseTrailingSpaces(buf);
if (!endsWith(buf,".md5sum")) // Just ignore these
{
int count = chopLine(buf, words);
if (count >= 6 && useRsync == FALSE) // hgwdev is same as hgdownloads-test so can't use rsync
{
//-rw-rw-r-- 5 502826550 2010-10-22 16:51 /usr/local/apache/htdocs-hgdownload/goldenPath/hg19/encodeDCC/wgEncodeBroadHistone/wgEncodeBroadHistoneGm12878ControlStdRawDataRep1.fastq.gz
AllocVar(oneFile);
oneFile->fileSize = sqlUnsignedLong(words[2]);
oneFile->fileDate = cloneString(words[3]);
char *atSlash = strrchr(words[5], '/');
if (atSlash != NULL)
@@ -461,78 +439,79 @@
return count;
}
static void filesDownloadsPreamble(char *db, struct trackDb *tdb)
{
// Do not bother getting preamble.html
// 1) It isn't on the RR (yet)
// 2) It will likely refer back to the composite for Description info which is included in this page
// 3) The rsync-to-tmp-file hurdle isn't worth the effort.
cgiDown(0.7);
puts("Data is RESTRICTED FROM USE");
puts("in publication until the restriction date noted for the given data file.");
char *server = hDownloadsServer();
char *subDir = "";
+if (hIsBetaHost())
+ {
+ server = "hgdownload-test.cse.ucsc.edu"; // NOTE: Force this case because beta may think it's downloads server is "hgdownload.cse.ucsc.edu"
+ subDir = "/beta";
+ }
+
cgiDown(0.7);
puts("Supporting documents:");
printf("
files.txt is a tab-separated file with the name and metadata for each download.\n",
server,db,ENCODE_DCC_DOWNLOADS, tdb->track, subDir);
printf("
md5sum.txt is a list of the md5sum output for each download.\n",
server,db,ENCODE_DCC_DOWNLOADS, tdb->track, subDir);
-if (hIsBetaHost())
- {
- server = "hgdownload-test.cse.ucsc.edu"; // NOTE: Force this case because beta may think it's downloads server is "hgdownload.cse.ucsc.edu"
- subDir = "/beta";
- }
struct fileDb *oneFile = fileDbGet(db, ENCODE_DCC_DOWNLOADS, tdb->track, "supplemental");
if (oneFile != NULL)
{
printf("
Supplemental materials contains additional files provided by the laboratory related to these downloads.\n",
server,db,ENCODE_DCC_DOWNLOADS, tdb->track, subDir);
}
}
static int filesPrintTable(char *db, struct trackDb *parentTdb, struct fileDb *fileList, sortOrder_t *sortOrder,boolean filterable)
// Prints filesList as a sortable table. Returns count
{
// Table class=sortable
int columnCount = 0;
int restrictedColumn = 0;
char *nowrap = (sortOrder->setting != NULL ? " nowrap":""); // Sort order trackDb setting found so rely on
in titles for wrapping
printf("
"); int filesCount = slCount(fileList); if (filesCount > 5) printf("%d files",filesCount); //if (sortOrder) // NOTE: This could be done to preserve sort order FIXME: However hgFileUi would need form OR changes would need to be ajaxed over AND hgsid would be needed. // printf("",sortOrder->htmlId, sortOrder->sortOrder); printf(" | \n"); columnCount++; -/*#define SHOW_FOLDER_FRO_COMPOSITE_DOWNLOADS -#ifdef SHOW_FOLDER_FRO_COMPOSITE_DOWNLOADS +/*#define SHOW_FOLDER_FOR_COMPOSITE_DOWNLOADS +#ifdef SHOW_FOLDER_FOR_COMPOSITE_DOWNLOADS if (parentTdb == NULL) { printf(""); columnCount++; } -#endif///def SHOW_FOLDER_FRO_COMPOSITE_DOWNLOADS +#endif///def SHOW_FOLDER_FOR_COMPOSITE_DOWNLOADS */ // Now the columns int curOrder = 0,ix=0; if (sortOrder) { curOrder = sortOrder->count; for(ix=0;ix | %s | \n", sortOrder->order[ix],(sortOrder->forward[ix]?"":" sortRev"), (sameString("fileSize",sortOrder->column[ix])?"abbr='use' ":""), nowrap,align,sortOrder->title[ix]); // keeing track of sortOrder columnCount++; if (sameWord(sortOrder->column[ix],"dateUnrestricted"))
---|