]> Creatis software - clitk.git/blobdiff - grid/common.sh
new release dir
[clitk.git] / grid / common.sh
index 44ad69381ed09e212c99c1cb9001c2fb09ac7bb3..62205e72135b0eb9105d7d03fcb2d12521dc91d0 100644 (file)
@@ -27,10 +27,35 @@ test "${answer}" == "n" && return 1
 check_user "${prompt}"
 }
 
+# checks if the lfn file exists
+function file_exists {
+lfnfile="${1:?"provide lfn to file"}"
+lfc-ls ${lfnfile} 2>&1 > /dev/null
+}
+
+# upload file to grid storage element
+# source can be a relative or an absolute path to the source file 
+# dest must be the lfn to the target **file** (not the directory) 
+# if dest already exists, it prompts the user for overwritting
+function upload_file {
+sourcefile=${1:?"provide source file"}
+destlfn=${2:?"provide destination file lfn"}
+sourcefile="$(readlink -f "${sourcefile}")" # convert to absolute path
+test -f "${sourcefile}" || error "can't find ${sourcefile}"
+echo "uploading ${sourcefile} to ${destlfn}"
+if file_exists "${destlfn}"; then
+       check_user "${destlfn} already exists. overwrite it?" || return 2
+       lcg-del -a "lfn:${destlfn}" || error "lcg-del error"
+fi
+echo "lets roll"
+lcg-cr -v -d ccsrm02.in2p3.fr -l "lfn:${destlfn}" "file:${sourcefile}" || error "lcg-cr error"
+}
+
+
 # common path used
 lfnbase="/grid/biomed/creatis/fgate/"
-lfnrelease="${lfnbase}releases/"
-lfnworkflow="${lfnbase}"
+lfnrelease="/grid/biomed/creatis/vip/data/groups/GateLab/releases/"
+lfnworkflow="${lfnbase}workflow/"
 lfngasw="${lfnbase}gasw/"
 lfnscript="${lfnbase}bin/"